搜尋

首頁  >  問答  >  主體

php - 幾個功能模組公用了部分程式碼,想修改其中一個功能,如何避免破壞其他功能

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

怪我咯怪我咯2779 天前1236

全部回覆(13)我來回復

  • 伊谢尔伦

    伊谢尔伦2017-05-16 13:10:42

    抽象化
    然後再寫多個方法來實作抽象的方法,不同的功能點實作不同的業務邏輯。

    回覆
    0
  • 漂亮男人

    漂亮男人2017-05-16 13:10:42

    最簡單的方法。複製出來單獨引用。

    回覆
    0
  • 淡淡烟草味

    淡淡烟草味2017-05-16 13:10:42

    比如說你要修改公共模組的A方法,這時候還有其他模組也是用的A,你可以不修改A而是另外寫一個A1方法。

    回覆
    0
  • 滿天的星座

    滿天的星座2017-05-16 13:10:42

    可以將子類別的程式碼把公共部分覆蓋掉,你就可以任意修改其中一個的功能了

    回覆
    0
  • 世界只因有你

    世界只因有你2017-05-16 13:10:42

    建立一個分類 在分類中重寫這個方法 在這個檔案中導入這個分類。

    回覆
    0
  • ringa_lee

    ringa_lee2017-05-16 13:10:42

    寫個子類別繼承這個公共方法的類,需要修改的地方封裝到子類別裡,目標模組用這個子類別。

    回覆
    0
  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-05-16 13:10:42

    創建一個新的方法。包裝別人的方法。

    function pre() {}
    
    function now() {
        var result = pre()
        // todo sth
        // todo sth
        return newResult
    }

    回覆
    0
  • 伊谢尔伦

    伊谢尔伦2017-05-16 13:10:42

    如果你的修改改變了原有代碼的行為的話,最好還是創建一個新的
    如果新的代碼和原有代碼有很多重複的話,可以考慮把可復用的地方提取出來

    回覆
    0
  • 某草草

    某草草2017-05-16 13:10:42

    兩種方式:

    1. 為方法加入 flag 類型的參數,在方法中依據不同的 flag 做不同的處理

    2. 重寫多一個方法

    回覆
    0
  • 黄舟

    黄舟2017-05-16 13:10:42

    用分類的方式來修改那個方法吧

    回覆
    0
  • 取消回覆