設計模式時的相關原則

2021-05-02 14:55:14 字數 747 閱讀 1403

開閉原則(open-closed principle ocp):

software entities should be open for extension,  but closed for modification.

這個模組可以在不被修改的前提下被擴充套件。(不修改源**而改變模組的行為)

例如:策略模式

黎克特制代換(liskov substitution principle lsp):

從抽象化到具體化的匯出要使用繼承關係和黎克特制代換原則。

子類可以替代父類,並且不影響功能(可以增加新的行為)。

依賴倒轉原則(dependence inverion principle  dip):

依賴於抽象,不要依賴於具體。高層模組應該是可復用的。

介面隔離原則(inte***ce segregation principle isp):

乙個類對另乙個類的依賴性應當是建立在最小的介面上的。

合成/聚合復用原則(composite/aggregate reuse principle carp):

在乙個新的物件裡使用一些已有的物件,使之成為新物件的一部分;新對性通過這些物件的委派達到復用已有的功能的目的。

盡量的使用合成/聚合,不要使用繼承(繼承是對父類的特殊化)

迪公尺特法則(law of demeter lod)   [最少知識原則 least knowledge principle lkp]

乙個物件應當對其他物件有盡可能少的了解。(可以和依賴倒轉原則配合使用)

設計模式中的相關原則

1.單一職責原則 單一職責原則 就乙個類而言,應該僅有乙個因其他變化的原因。如果乙個類承擔的職責過多,就等於把這些職責耦合在一起,當乙個職責變化的可能會削弱或者抑制這個類完成其他職責的能力。這種耦合會導致脆弱的設計,當變化發生時,設計會遭受到意想不到的破壞。軟體設計真正要做的許多內容,就是發現職責並...

相關設計原則

軟體架構設計原則 七 1.開閉原則 open closed principle 2.依賴倒置原則 dependence inversion principle 3.單一職責原則 resposibility principle 4.介面隔離原則 inte ce segregation principl...

設計模式 設計模式原則

1 單一職責原則 srp 乙個類應當只有乙個引起其變化的原因。使用單一職責原則的好處有 1 類的複雜性降低 2 可讀性提高 3 可維護性提高 4 變更引起的風險降低 2 黎克特制替換原則 lsp 在使用父類的地方,可以使用其子類替換。黎克特制替換原則的含義 1 子類必須完全實現父類的方法 2 子類可...