从类似功能的代码中找底层共通的方法
?从类似功能的代码中找底层共通的方法:
?
?当我们要实现一个功能,而这个功能,已经实现了,但是由于业务条件的限制,
?我们无法使用这个方法,通常情况下就是把方法写的通用,然而这个方法非常
?复杂,牵扯的条件业务逻辑非常之多,让我们一看之下很难进行修改。
?
?通常情况下,我们看到某处实现了某个功能,而这个顶层的方法 看似 完成了
?一个功能,其实,这样的方法通常都是 业务逻辑中调用功能的 方法。
?
?比如,要完成导入功能,要完成复制粘贴功能,都要修改某个单元格的内容。
?而这个 导入 方法 粘贴? 方法,看似完成了某个功能,但是其内部调用的是
?底层的一个 设置单元格内容的方法。
?
?而当我们也要完成另一个业务逻辑下的 导入 方法,直接调用现有的 导入方法
?似乎达不到我们预期的结果,而修改这个方法又困难重重,这时怎么办呢、我们
?就要跟踪代码,看他导入业务逻辑之外的方法,其中肯定有逻辑 有 验证,但最
?终肯定是要改变单元格的内容,所以我们就跟踪到底层看它调用的哪个“共有的
?改变单元格内容”的方法。因为,可能很多地方都要改变单元格内容,所以“改变
?单元格内容”的这个方法应该是一个“共有的方法”,只有这样才可以供外部调用。
?如果这个方法不是共有的,我们就在往底层找,看是否它又调用了其它的方法,
?一直找,直到我们找到一个“公共的功能性方法”以供我们使用,去完成我们现有
?的任务。
?
如果我们始终找不到一个共有的方法供我们使用,这时我们就要对原有的代码
?进行解耦,将原有的 业务逻辑 方法 与 功能性 方法 分开,切记不要自己写
?功能性的方法,要差分,差到两方面的业务逻辑都能用这个方法。直到完成现
?在的功能。(如何利用现有的代码来完成相似的功能,参见 《不要重新制作轮子》)
?
?找到这个方法后,再看我们当前所属的业务逻辑是否可以直接调用这个方法,一般
?功能性的方法,都是共有的,可以直接访问的。