23種設計模式(Java案例)

                                                   前言



                                                            設計模式核心思想

  • 高內聚, 低耦合
  1. 可擴展性: 方便迭代新功能;
  2. 可靠性: 迭代功能後不會影響已有功能;
  3. 可讀性: 編程規範, 方便同事閱讀理解;
  4. 代碼重用性: 不編寫相同代碼;
  • 設計模式遵循的七大原則
  1. 單一職責
    1. 思想: 執行者只做一件事;
    2. 案例: Dao層裏的一個訂單mapper只做訂單表的相關的事, 但這個mapper裏同時又操作了用戶表就違背了單一              職責的思想;
    3. 違背   遵循  
  2. 接口隔離
    1. 思想: 按方法用途將單個接口拆分成多個接口, 使類實現接口只實現, 類想用到的方法;
    2. 違背   遵循 
  3. 依賴倒轉(面向接口編程)
    1. 思想: 調用方由調用提供者的底層類, 轉換成調用提供者的頂層接口/抽象類, 提供者傳遞實現類/子類到接口/抽象類, 實現多態動態加載;
    2. 案例: 方法中之前調用的是實現類, 用依賴倒轉後將調用實現類改爲調用接口;
    3. 違背   遵循  
  4. 里氏替換
    1. 思想: 子類不要重寫父類方法, 子類和父類繼承基類實現邏輯解耦;
    2. 案例:  eat()只有父類有, 但開發中子類不小心寫了一個與父類相同名字的eat()(無意識重寫方法), 在用子類對象調用父類的eat()時, 調用的卻是子類重寫後的方法;
    3. 違背  遵循 
  5. 迪米特法則
    1. 思想: 最少知道法則, 調用方無需知道被調用對象的具體實現細節,被調用的對象對外只提供訪問功能的方法;
    2. 拓展
      1. 直接朋友: 本類的參數, 方法返回值, 成員變量;
      2. 其他朋友: 出現在本類的局部方法中與本類不相關的局部變量;
    3. 違背     遵循 
  6. 開閉原則(OCP原則)
    1. 思想: 提供方修改代碼後不應該改動調用方的代碼;
    2.   違背             遵循 
  7. 合成複用
    1. 思想: 要想使用其他類的方法, 要用組合/聚合的方式, 而不是用繼承的方式實現;
    2. 組合: 外部類對象隨本類的實例而實例, 外部類對象以成員屬性的方式存在(和本類同生死);
    3. 聚合: 外部類對象通過賦值的方式在本類中進行實例(外部對象聚集合併到本類);
    4. 依賴: 本類使用到外部類就表示本類依賴調用了外部類;
    5. 說明     

                                                            UML類圖

  • 畫類圖
  • 描述一個類
  • 線性說明
  • 練習
  1.           

                                                             學習期間使用到的工具


                                                              設計模式有3類

  • 創建型
  1. 單例模式
  2. 工廠模式
  3. 抽象工廠模式
  4. 原型模式
  5. 建造者模式
  • 結構型
  1. 適配器模式
  2. 橋接模式
  3. 裝飾者模式
  4. 組合/部分整體模式
  5. 外觀模式
  6. 享元/蠅量模式
  7. 代理模式
  • 行爲型
  1. 模版模式
  2. 命令模式
  3. 訪問者模式
  4. 策略模式
  5. 迭代器模式
  6. 觀察者模式
  7. 中介者模式
  8. 備忘錄模式
  9. 解釋器模式
  10. 狀態模式
  11. 責任鏈模式

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章