鍍金池/ 問答/PHP  HTML/ 關(guān)于 php traits的使用

關(guān)于 php traits的使用

問題描述

最近在做接口開發(fā),突然有個想法是不是可以這樣:
將每個接口方法封裝traits,然后創(chuàng)建一個接口類,接口類的作用是將traits接口組合起來,組成完整接口;這樣在版本更新迭代的時候只需要替換相應(yīng)的traits就可以了;
這樣做可行嗎?或者有什么弊端嗎?

回答
編輯回答
耍太極

首先你的一個思維是很好的,就是利用traits復(fù)用代碼,traits本身設(shè)計解決PHP無法多繼承和代碼復(fù)用

不過你上面的設(shè)計,我想到的一些問題:

  1. 如何同時存在一個服務(wù)的不同版本(難道你又維護(hù)一個不同版本的traits)
  2. 如何你的類只是繼承了不同功能traits,那為什么直接用相應(yīng)的基類做,要用traits來做,這個問題值得你思考
  3. traits在實際開發(fā)中,更多的是充當(dāng)一些抽象的公用部分,比如一個抽象A類和抽象B類, 他們可能同時要公用一些方法或什么,你可以用traits
  4. 你提出這個問題的時候,我這邊感受到的是你更多要去思考的是怎么設(shè)計類和怎么設(shè)計你的軟件架構(gòu)問題
2018年5月14日 23:19