沒有什么設計模式是完美無缺的,一個設計模式就是解決一類的問題,通常設計模式在解決一類問題的同時,還會帶來別的問題,我們設計者要做的事,就是揚長避短,
1、創建型設計模式,5個===》關注物件的創建
2、結構型設計模式,7個===》關注類與類之間的關系
3、行為設計模式,11個====》關注物件和行為的分離
設計模式六大原則:單一職責、里氏替換原則、依賴倒置原則、迪米特法則、介面隔離原則、開閉原則,這些只能叫原則,是建議,沒有實際的招數,
面向物件23中設計模式:
面向物件語言開發程序中,遇到的種種場景和問題,提出了解決方案和思路,沉淀下來就變成了設計模式,
1、創建型設計模式:關注物件的創建
單例模式:
就是限制了物件的創建,重用了物件
原型模式:
換個方式創建物件,不走建構式,而是記憶體拷貝
三大工廠:
簡單工廠:不直接new出來,把物件創建移到工廠,簡單工廠不屬于23種設計模式
工廠方法:轉移物件的創建,留下了擴展空間
抽象工廠:屏蔽物件的創建;約束強制保障產品簇;創建物件,創建一組密不可分的物件,
2、結構型設計模式:關注類與類之間的關系
縱向關系:繼承≈實作,超強關聯
橫向關系:組合>聚合>關聯>依賴
依賴:出現在方法內部,
組合優于繼承,結構型設計模式的核心,
配接器模式:
解決重構的問題,新東西和舊系統不吻合,通過繼承/組合進行適配,
代理模式:
通過代理完成對業務的訪問,包一層方便任意功能的擴展
裝飾器模式:
結構型設計模式巔峰之作,組合+繼承,通過組合+繼承,完成物件功能動態擴展,
外觀模式(門面模式)
組合模式
橋接模式
享元模式
多種設計模式,其實就是組合包一層,然后加功能,解決不同的問題,然后有不同的側重點,也有不同的規范,
3、行為型設計模式:關注物件和行為的分離
核心:甩鍋大法,把鍋丟出去,只管自己,把不穩定的地方移出去,自己只謝文鼎的,能保證自身的穩定,
模板方法設計模式:
在基類中定義流程,把可變邏輯分離到不同子類實作
觀察者模式:
一個物件動作觸發多個物件的行為,通過觀察者可以去掉物件的依賴,支持各種已定義和擴展
責任鏈設計模式:
把請求的處理流程,沿著鏈子順序執行,還允許鏈子的擴展和定制
策略模式、迭代器模式........
很多時候,可能會融合應用多個設計模式,分別解決對應的問題,
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/46479.html
標籤:設計模式
上一篇:設計模式-結構型-配接器模式
下一篇:設計模式之單例模式
