SOILD原則中OILD幾乎都需要接口的介入,這樣做開(kāi)發(fā)時(shí)需要為每一個(gè)類都提供一個(gè)接口嗎?這個(gè)用法分語(yǔ)言嗎?我在做SSH的時(shí)候選用多層構(gòu)架很自然的就會(huì)建service,service-impl,dao,dao-impl。但是在做客戶端開(kāi)發(fā)或ASP.NET MVC中卻不太常見(jiàn)怎么做的,難道是因?yàn)榧夹g(shù)能力問(wèn)題。在php中似乎連做面向?qū)ο蟮亩己苌?,這是跟語(yǔ)言有關(guān)嗎?處于開(kāi)發(fā)前期也必要采用“開(kāi)放封閉原則”嗎?這樣會(huì)不會(huì)多出很多個(gè)接口,造成代碼難以閱讀?
1 回答

搖曳的薔薇
TA貢獻(xiàn)1793條經(jīng)驗(yàn) 獲得超6個(gè)贊
我的建議是:參考三次法則
第一次不用在意什么原則,建議之類,怎么快怎么來(lái)。
第二次,開(kāi)始出現(xiàn)重復(fù)的時(shí)候提高警覺(jué),但容忍一些違反原則的寫法
第三次重復(fù)的時(shí)候重構(gòu)你的代碼
當(dāng)然如果你在第一次解決問(wèn)題的時(shí)候已經(jīng)預(yù)見(jiàn)到問(wèn)題會(huì)來(lái)三次,那直接按第三次的方式來(lái)寫也ok,但如果你預(yù)測(cè)老不應(yīng)驗(yàn),那還是別設(shè)計(jì)那么多東西,遵循YAGNI吧
添加回答
舉報(bào)
0/150
提交
取消