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