几个功能模块有部分代码是公用的,想修改其中一个功能,需要修改公用代码,在不确定哪些功能引用了这段代码的情况下,如何避免破坏其他功能
走同样的路,发现不同的人生
函数入口加个标识判断,标识为true走你自己写的逻辑,不然就走原来的不动。例子如下:
default()原来的,newFunc()新的,main()公共调用部分
main() { if ($flag) { NewFunc(); } else Default(); } 或者直接修改default() default($flag){ if ($flag) { 你改的逻辑 } else 原来的 } }
这是最简单的改法。。。
既然这样,那这个方法就不是公用的了所以,改这方法,根据实际情况,加参数,通过参数判断重新区分业务逻辑,拆分原方法,重新组合
把“公共代码”写成“公共类”,然后组织结构换成“中介者”模式,降低“公共类”与其他类之间的耦合性,需要改动的地方继承“公共类”,修改要修改的部分
函数入口加个标识判断,标识为true走你自己写的逻辑,不然就走原来的不动。例子如下:
default()原来的,newFunc()新的,main()公共调用部分
这是最简单的改法。。。
既然这样,那这个方法就不是公用的了
所以,改这方法,根据实际情况,
加参数,通过参数判断
重新区分业务逻辑,拆分原方法,重新组合
把“公共代码”写成“公共类”,然后组织结构换成“中介者”模式,降低“公共类”与其他类之间的耦合性,需要改动的地方继承“公共类”,修改要修改的部分