系统架构设计师 - 23种设计模式(GOF)
文章目錄
- 總覽
- 創建型(5種)
- 工廠方法 Factory Method
- 抽象工廠 Abstract Factory
- 生成器模式 Builder
- 原型模式 Prototype
- 單例模式 Singleton
- 結構型(7種)
- 適配器 Adapter
- 橋接 Bridge
- 組合模式 Composite
- 裝飾者模式 Decorator
- 外觀模式 Facade
- 享元模式 Flyweight
- 代理模式 Proxy
- 行為型(11種)
- 解釋器 Interpretor
- 模板方法 Template Method
- 責任鏈 Chain Of Reponsibility
- 命令模式 Commond
- 迭代器 Interator
- 中介者 Mediator
- 備忘錄 Memento
- 觀察者模式 Observer
- 狀態模式 State
- 策略模式 Strategy
- 訪問者模式 Visitor
總覽
創建型(5種)
工廠方法 Factory Method
定義一個創建類的接口 , 允許 在不確定一個類的具體實例的情況下創建 并使用它 ,讓子類決定具體實例化的類型;
抽象工廠 Abstract Factory
定義一個接口 , 創建 一系列相關 或 互相依賴 的對象 , 而無需指定它們的具體類;
生成器模式 Builder
將類的構建過程 與 具體表現 分離 ,相同的過程可以創建不同的表示;
原型模式 Prototype
用原型實例 指定創建類的對象,并通過拷貝原型來獲取新的對象;
單例模式 Singleton
保證一個類的實例 全局只有一個 , 并提供一個訪問它的全局訪問點 ;
結構型(7種)
適配器 Adapter
將一個類的接口轉換成客戶需要的另一個接口 , 使原來由于接口不能兼容的類在一起工作;
橋接 Bridge
將 抽象部分 和 實現部分 分離, 使兩者可以獨立的變化
組合模式 Composite
將對象組合成樹形結構 以描述 部分和整體的 層次關系 , 使得操作單個對象 和 操作組合對象 具有一致性;
裝飾者模式 Decorator
動態的給對象添加額外的職能;
外觀模式 Facade
給一系列接口的交互過程提供統一的 接口 (訪問形式) ;
享元模式 Flyweight
大量 細粒度 對象的共享技術;
代理模式 Proxy
為其他對象提供一種代理 , 以控制它的訪問;
行為型(11種)
解釋器 Interpretor
給定一個語言 定義其文法表示 , 并定義一個解釋該語言的解釋器 , 解釋器通過該標識解釋 語言中的句子 ;
模板方法 Template Method
定義一系列算法的骨架 , 并將其中一些特定的步驟延遲到子類去實現 ; 使得 子類可以在不改變算法的結構的前提下 , 重新定義具體步驟的實現方式;
責任鏈 Chain Of Reponsibility
避免請求者和接收者耦合在一起 , 定義多個對象都有能力處理請求 , 并將它們以鏈式結構連接 , 在鏈上傳遞請求 , 直到有一個對象處理請求為止;
命令模式 Commond
將一個請求封裝成一個命令 , 使用不同的請求實現參數化 , 以支持 記錄 / 撤回 / 重做 / 事務 / 隊列處理
迭代器 Interator
提供一個方法順序訪問 一個組合對象的各個元素 , 而不暴露該對象的內部表示;
中介者 Mediator
定義一個中介對象 , 封裝一系列對象間的交互 , 使各對象之間不需要顯示的調用 ,松散耦合 , 可以獨立的改變它們之間的交互 ;
備忘錄 Memento
在不破壞封裝性的前提下 , 捕獲一個對象的內部狀態 , 并在對象外保存其內部狀態 , 以在合適的時機 恢復對象到保存的狀態
觀察者模式 Observer
定義對象間一對多的依賴關系 , 當被依賴對象狀態發生變化時 , 所有依賴它的對象都能收到通知 并 自動更新 ;
狀態模式 State
允許對象在內部狀態改變時修改自身的行為 ;
策略模式 Strategy
定義一系列算法 , 并把它們一個個封裝起來 , 可以互相替換;
訪問者模式 Visitor
數據結構 和 數據訪問 分離;
23種設計模式
總結
以上是生活随笔為你收集整理的系统架构设计师 - 23种设计模式(GOF)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 自定义Valid注解,校验List集合
- 下一篇: IntelliJ IDEA 2019.1