几个功能模块有部分代码是公用的,想修改其中一个功能,需要修改公用代码,在不确定哪些功能引用了这段代码的情况下,如何避免破坏其他功能
走同样的路,发现不同的人生
抽象出来然后再写多个方法来实现抽象的方法,不同的功能点实现不同的业务逻辑。
最简单的方法。复制出来单独引用。
比如说你要修改公共模块的A方法,这个时候还有其他模块也是用的A,你可以不修改A而是另外写一个A1方法。
可以将子类的代码把公共部分覆盖掉,你就可以任意修改其中一个的功能了
创建一个分类 在分类中重写这个方法 在这个文件中导入这个分类。
写个子类继承这个公共方法的类,需要修改的地方封装到子类里,目标模块用这个子类。
创建一个新的方法。包装别人的方法。
function pre() {} function now() { var result = pre() // todo sth // todo sth return newResult }
如果你的修改改变了原有代码的行为的话,最好还是创建一个新的如果新的代码和原有代码有很多重复的话,可以考虑把可复用的地方提取出来
两种方式:
为方法添加 flag 类型的参数,在方法中依据不同的 flag 做不同的处理
重新写多一个方法
用分类的方式来修改那个方法吧
抽象出来
然后再写多个方法来实现抽象的方法,不同的功能点实现不同的业务逻辑。
最简单的方法。复制出来单独引用。
比如说你要修改公共模块的A方法,这个时候还有其他模块也是用的A,你可以不修改A而是另外写一个A1方法。
可以将子类的代码把公共部分覆盖掉,你就可以任意修改其中一个的功能了
创建一个分类 在分类中重写这个方法 在这个文件中导入这个分类。
写个子类继承这个公共方法的类,需要修改的地方封装到子类里,目标模块用这个子类。
创建一个新的方法。包装别人的方法。
如果你的修改改变了原有代码的行为的话,最好还是创建一个新的
如果新的代码和原有代码有很多重复的话,可以考虑把可复用的地方提取出来
两种方式:
为方法添加 flag 类型的参数,在方法中依据不同的 flag 做不同的处理
重新写多一个方法
用分类的方式来修改那个方法吧