在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

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

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

問題描述

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

回答
編輯回答
耍太極

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

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

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