1.六大設(shè)計原則

1.1單一職責原則

案例1:將不區(qū)分類屬性與行為的類,如IUserInfo接口拆分為BO,BIZ兩個接口。需要使用BO,就將接口對象轉(zhuǎn)換為具體的接口。

定義:單一職責原則(SRP,Single Responsibility Principe)的定義是:應(yīng)該有且僅有一個原因引起類的變更。

案例2:電話撥號類的劃分

單一職責原則的優(yōu)勢:類的復雜性降低了,可讀性增加,可維護性提高,變更引起的風險降低

注意 單一職責原則提出了一個編寫程序的標準,用“職責”或“變化原因”來衡量接口或類設(shè)計得是否優(yōu)良,但是“職責”和“變化原因”都是不可度量的,因項目而異,因環(huán)境而異。

案例3:高粒度的“修改用戶信息方法”!

編者按:之所以對此印象深刻是因為最近實訓做的電商后臺平臺充斥著大量的諸如此類的代碼,很感謝能夠及時發(fā)現(xiàn)這樣的問題

與現(xiàn)實的妥協(xié)

1.2里氏替換原則

OO中繼承的優(yōu)點:代碼共享,減少了創(chuàng)建類的工作量;提高了代碼的重用性;子類與父類有相似也有不同;提高了代碼的可擴展性,比如版本升級產(chǎn)生的向下兼容;提高了產(chǎn)品與項目的開放性;

OO中繼承的缺點:繼承是侵入性的,只要繼承必須擁有父類的屬性與方法;繼承也是子類的約束,降低了代碼的靈活性;繼承增加了父類子類的耦合性,當父類修改變量或方法時,要考慮子類的修改

里氏替換原則的定義:所有引用基類的地方必須能透明地使用其子類的對象

定義包含的四層規(guī)范

第一,子類必須完全實現(xiàn)父類的方法


第二,子類出現(xiàn)的地方并不一定可以被父類替換。

第三,子類方法可以放大參數(shù)范圍

第四,子類方法可以縮小返回值范圍

里氏替換原則的優(yōu)點:增加程序的健壯性,版本升級時仍有很好的兼容性;即使增加了子類,原有類也可以繼續(xù)運行;在實際項目中,每個子類對應(yīng)不同的業(yè)務(wù)含義,使用父類作為參數(shù),傳遞不同的子類完成不同的業(yè)務(wù)邏輯

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 設(shè)計模式概述 在學習面向?qū)ο笃叽笤O(shè)計原則時需要注意以下幾點:a) 高內(nèi)聚、低耦合和單一職能的“沖突”實際上,這兩者...
    彥幀閱讀 3,901評論 0 14
  • 單一職責原則 (SRP) 全稱 SRP , Single Responsibility Principle 單一職...
    米莉_L閱讀 1,878評論 2 5
  • 轉(zhuǎn)載自 設(shè)計模式六大原則[http://www.uml.org.cn/sjms/201211023.asp#3] ...
    廚子閱讀 1,180評論 2 5
  • 設(shè)計模式六大原則 設(shè)計模式六大原則(1):單一職責原則 定義:不要存在多于一個導致類變更的原因。通俗的說,即一個類...
    viva158閱讀 828評論 0 1
  • 李湘 總裁李湘,世界女強 多才多藝,名流上榜 身價上億,豪宅上檔 不次冰冰,超過女皇 名牌纏身,月費女王 風生水起...
    旖旎i閱讀 816評論 2 17

友情鏈接更多精彩內(nèi)容