幾個功能模組有部分程式碼是公用的,想修改其中一個功能,需要修改公用程式碼,在不確定哪些功能引用了這段程式碼的情況下,如何避免破壞其他功能
走同样的路,发现不同的人生
函數入口加個標識判斷,標識為true走自己寫的邏輯,不然就走原來的不動。例如下:
default()原來的,newFunc()新的,main()公共呼叫部分
main() { if ($flag) { NewFunc(); } else Default(); } 或者直接修改default() default($flag){ if ($flag) { 你改的逻辑 } else 原来的 } }
這是最簡單的改法。 。 。
既然這樣,那這個方法就不是公用的了所以,改這方法,根據實際情況,加參數,透過參數判斷重新區分業務邏輯,拆分原方法,重新組合
把“公共代碼”寫成“公共類別”,然後組織結構換成“中介者”模式,降低“公共類別”與其他類別之間的耦合性,需要改動的地方繼承“公共類別”,修改要修改的部分
函數入口加個標識判斷,標識為true走自己寫的邏輯,不然就走原來的不動。例如下:
default()原來的,newFunc()新的,main()公共呼叫部分
這是最簡單的改法。 。 。
既然這樣,那這個方法就不是公用的了
所以,改這方法,根據實際情況,
加參數,透過參數判斷
重新區分業務邏輯,拆分原方法,重新組合
把“公共代碼”寫成“公共類別”,然後組織結構換成“中介者”模式,降低“公共類別”與其他類別之間的耦合性,需要改動的地方繼承“公共類別”,修改要修改的部分