设计模式基本原则
最終目的:高內聚,低耦合
? ? ? ? 一個對象應當對其他對象盡可能少的了解,從而降低各個對象之間的耦合,提高系統的可維護性。例如在一個程序中,各個模塊之間相互調用時,通常會提供一個統一的接口來實現。這樣其他模塊不需要了解另外一個模塊的內部實現細節,這樣當一個模塊內部的實現發生改變時,不會影響其他模塊的使用。(黑盒原理)
1) ?開放封閉原則 ?(OCP,Open For Extension, Closed For Modification Principle)
? ? ? ? 類的改動是通過增加代碼進行的,而不是修改源代碼。2) ?單一職責原則 ?(SRP,Single Responsibility Principle)
? ? ? ? 類的職責要單一,對外只提供一種功能,而引起類變化的原因都應該只有一個。3) ?依賴倒置原則 (DIP,Dependence Inversion Principle)
? ? ? ? 依賴于抽象(接口),不要依賴具體的實現(類),也就是針對接口編程。4) ?接口隔離原則 (ISP,Interface Segegation Principle)
? ? ? ? 不應該強迫客戶的程序依賴他們不需要的接口方法。一個接口應該只提供一種對外功能,不應該把所有操作都封裝到一個接口中去。5) ?里氏替換原則 (LSP, Liskov Substitution Principle)任何抽象類出現的地方都可以用他的實現類進行替換。實際就是虛擬機制,語言級別實現面向對象功能。
6) ?優先使用組合而不是繼承原則(CARP,Composite/Aggregate Reuse Principle)
? ? ? ? 如果使用繼承,會導致父類的任何變換都可能影響到子類的行為。如果使用對象組合,就降低了這種依賴關系。
7) ?迪米特法則(LOD,Law of Demeter)? ? ? ? 一個對象應當對其他對象盡可能少的了解,從而降低各個對象之間的耦合,提高系統的可維護性。例如在一個程序中,各個模塊之間相互調用時,通常會提供一個統一的接口來實現。這樣其他模塊不需要了解另外一個模塊的內部實現細節,這樣當一個模塊內部的實現發生改變時,不會影響其他模塊的使用。(黑盒原理)
總結
- 上一篇: CompletableFuture详解~
- 下一篇: 代换链表入口节点