單一職責原則(srp)
單一職責適用於:
介面,類,方法
開放封閉原則(ocp):
乙個軟體實體應當對外擴充套件開放,對修改關閉
關鍵:什麼叫做鉤子方法?
是對於抽象方法或者介面中定義的方法的乙個空實現
在實際的運用中,例如有乙個介面,這個介面裡面有7個方法,而你只想用其中的乙個方法,那麼這時,你可以寫乙個抽象類實現這個介面,在這個抽象類裡將你要用的那個方法設定為abstract,其他方法進行空實現,然後再繼承這個抽象類,就不需要實現它不需要的方法
黎克特制代換原則:
子型別必須能夠替換他們的基型別。子類可以以父類的身份出現
依賴倒轉原則(dip):
要依賴於抽象,不依賴於具體
也就是說依賴倒轉原則要求客戶端依賴於抽象耦合。
好萊塢原則:「don't call me;i'll call you」
用乙個例子來說明就是:乘客(you)打的,沿途問司機(me)某個景點,天經地義;但是,乘客(you)不要從上車的第一秒開始時時刻刻問司機到了沒有,應該是到了目的地後司機通知你
me指的是下層模組
核心就是以通知代替輪詢
合成/聚合復用原則
要盡量使用合成/聚合,而不是繼承關係達到復用的目的。
介面隔離原則(isp):
使用多個專門的介面比使用單一的總介面要好,也就是說,從乙個客戶類的角度來講,乙個類對另乙個類的依賴性應當是建立在最小介面上
實現方法:
使用多重繼承分離介面
迪公尺特法則(lod):
又叫做最少知識原則,如果兩個類不必彼此直接通訊,那麼這兩個類就不應當發生直接的相互作用。如果其中乙個類需要呼叫另乙個類的某乙個方法的話,可以通過第三者**這個呼叫
也就說說,乙個物件應當對其他物件有盡可能少的了解
總結:
設計模式 設計模式原則
1 單一職責原則 srp 乙個類應當只有乙個引起其變化的原因。使用單一職責原則的好處有 1 類的複雜性降低 2 可讀性提高 3 可維護性提高 4 變更引起的風險降低 2 黎克特制替換原則 lsp 在使用父類的地方,可以使用其子類替換。黎克特制替換原則的含義 1 子類必須完全實現父類的方法 2 子類可...
設計模式 設計原則
1.單一職責原則 single responsibility principle,簡稱srp 就乙個類而言,應該僅有乙個引起它變化的原因。如果乙個類承擔的職責過多,就等於把這些職責耦合在一起,乙個職責的變化可能會削弱或抑制這個類完成其他職責的能力。這種耦合會導致脆弱的設計,當變化發生時,設計會遭受到...
設計模式 設計原則
description 這是本人學習 設計模式之禪 的筆記 設計原則 一 單一職責 應該有且僅有乙個原因讓乙個類發生變更。這個原則目的是要讓介面的職責分明,結構清晰。優點 類的複雜度降低,可讀性提高,變更風險低,可維護性提高。二 黎克特制替換 通俗一點就是父類存在的地方,可以替換為子類,而程式的行為...