23種設計模式之六大原則

設計模式大綱

  • 對接口編程而不是實現編程
  • 優先使用對象組合而不是繼承
  • 設計模式提供軟件開發常面問題的最優解
  • 23種設計模式分爲Creational Paterns,Structural Patterns,Behavioral Patterns
設計模式
創建型
結構型
行爲型
創建型
創建型
Factory
AbsractFactory
Singleton
Builder
Prototype原型
結構型
結構型
Adapter
Bridge
Filter
Composite
Decorator
Facade外觀
Flyweight享元
Proxy
行爲型
行爲型
ChainOfResponsibility
Command
Interpreter
Iterator
Mediator中介
Memento備忘錄
Observer觀察者
State狀態
NullObject空對象
Strategy
Template
Visitor
J2EE
MVC式
業務代表BusinessDelegate
組合實體CompositeEntity
數據訪問DataAccess
前端控制器FrontController
攔截過濾器InterceptingFilter
服務定位器ServiceLocator
傳輸對象TransferObject

設計模式六大原則

  1. 開閉原則

程序要想易拓展,必須支持熱拔插,用接口和抽象類實現功能拓展,不許修改源碼

  1. 里氏替換原則

多態核心思想.用於實現開閉原則.任何父類能出現的地方,子類一定能出現且不出問題.

  1. 依賴倒轉

針對接口編程,依賴於抽象而不是具體

  1. 接口隔離原則

將功能拆成多個相互隔離的接口.降低類之間的耦合度.

  1. 迪米特法則,最少知道

一個實體最好儘可能少地與其他實體發生作用,少用其他實體或少被其它實體用

  1. 合成複用原則(單一職責)

繼承是耦合度最高的一種關係,嚴重破壞高內聚低耦合的設計.我們要儘可能使用合成/聚合,真要繼承最好只繼承抽象類.一個內聚的類最好只有一個引起它變化的外在原因.內聚性不強的就不要寫到一個類中.

精簡版:設計模式就是講如何更好地搞對象

創建型:對象怎麼來的

結構型:對象和誰有關係

行爲型:對象與對象在幹嘛

J2EE模式:表示層,對象合起來要幹嘛,行爲型的升級.

  1. SRP 儘量聚合/組合,繼承抽象類,一個接口對應一種變化
  2. OCP 熱拔插,提高可拓展.需要用到LSP,DIP,SRP
  3. LSP 多態,父子類相互轉型
  4. DIP 針對接口編程,內部實現無論怎麼改,接口輸出不變,掉用該接口的類就不會變
  5. ISP 接口要隔離,不同的功能要寫成不同的接口,單獨設計.
  6. DP/LKP 最少知道,即少出現別的類的實體
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章