面向物件GOF23種設計模式綜述
阿新 • • 發佈:2020-03-29
一、什麼是設計模式
設計模式,是一套被反覆使用、多數人知曉的、經過分類編目的、程式碼設計經驗的總結。使用設計模式是為了可重用程式碼、讓程式碼更容易被他人理解、保證程式碼可靠性、程式的重用性。
設計模式其實就是開發過程中常見問題的解決方案,是解決問題的思路。學習設計模式能更優雅的解決面向對程式開發設計問題。
二、設計模式分類
建立型模式,關注物件的建立
- Singleton(單例)
- Factory Method(工廠方法)
- Abstract Factory (抽象工廠)
- Builder(建造者)
- Prototype(原型模式)
結構型模式,關注類與物件之間的組合
- Adapter(介面卡)
- Bridge(橋接)
- Composite(組合)
- Decorator(裝飾器)
- Facade(外觀)
- Flyweight(享元)
- Proxy(代理)
行為型模式,關注物件和行為的分離
- Interpreter(直譯器)
- Template Method(模板方法)
- Chain of Responsibility(責任鏈)
- Command(命令)
- Iterator(迭代器)
- Mediator(中介者)
- Memento(備忘錄)
- Observer(觀察者)
- State(狀態)
- Strategy(策略)
- Visitor(訪問者)
三、設計模式
- 單一原則:一個類只負責一 項職責
- 開閉原則:對擴充套件開放,對修改關閉,能擴充套件不修改
- 里氏替換原則:子類可以擴充套件父類的功能,但不能改變原有父類的功能。儘量用子類替換父類
- 依賴倒置原則:抽象不應該依賴於細節,細節應當依賴於抽象,面向介面程式設計
- 介面隔離:使用多個專門的介面,而不使用單一的總介面。即 客戶端不應該依賴於那些它不需要的介面。
- 迪米特原則:最少知道原則,儘量降低類與類之間的耦合;一個物件應該對其他物件有最少的瞭解
&n