php - 幾個功能模組公用了部分程式碼,想修改其中一個功能,如何避免破壞其他功能
怪我咯
怪我咯 2017-05-16 13:08:42
0
13
1202

幾個功能模組有部分程式碼是公用的,想修改其中一個功能,需要修改公用程式碼,在不確定哪些功能引用了這段程式碼的情況下,如何避免破壞其他功能

怪我咯
怪我咯

走同样的路,发现不同的人生

全部回覆(13)
Peter_Zhu

函數入口加個標識判斷,標識為true走自己寫的邏輯,不然就走原來的不動。例如下:

default()原來的,newFunc()新的,main()公共呼叫部分

main()
{
  if ($flag) {
        NewFunc();
  }
  else
        Default();
}

或者直接修改default()
default($flag){
  if ($flag) {
        你改的逻辑
  }
  else
        原来的
}
}

這是最簡單的改法。 。 。

大家讲道理

既然這樣,那這個方法就不是公用的了
所以,改這方法,根據實際情況,
加參數,透過參數判斷
重新區分業務邏輯,拆分原方法,重新組合

曾经蜡笔没有小新

把“公共代碼”寫成“公共類別”,然後組織結構換成“中介者”模式,降低“公共類別”與其他類別之間的耦合性,需要改動的地方繼承“公共類別”,修改要修改的部分

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板