Design Patterns
GoF: Gang of Four
Design Patterns: Elements of Reusable Object-Oriented Software
Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides
sequenceDiagram
participant 行爲型模式
participant 設計模式
participant 創建型模式
participant 結構型模式
創建型模式->設計模式:
note left of 創建型模式: 抽象工廠模式(Abstract Factory)<br/>工廠方法模式(Factory Method)<br/>單例模式(Singleton)<br/>創建者模式(Builder)<br/>原型模式(Prototype)
行爲型模式->設計模式:
note right of 行爲型模式: 責任鏈模式(Chain of Responsibility)<br/>命令模式(Command)<br/>解釋器模式(Interpreter)<br/>迭代器模式(Iterator)<br/>中介者模式(Mediator)<br/>備忘錄模式(Memento)<br/>狀態模式(State)<br/>策略模式(Strategy)<br/>模板方法模式(Template Method)<br/>觀察者模式(Observer)<br/>訪問者模式(Visitor)
結構型模式->設計模式:
note left of 結構型模式: 適配器模式(Adapter)<br/>橋接模式(Bridge)<br/>組合模式(Composite)<br/>裝飾者模式(Decorator)<br/>外觀模式(Facade)<br/>享元模式(Flyweight)<br/>代理模式(Proxy)
攔截器模式
Interceptor Pattern
切麵(Cross-Cutting)、面嚮切麵編程(AOP: Aspect Oriented Programming)
插件模式
Plug-in Pattern
普通的擴展發生在軟件内部,插件式擴展發生在軟件外部。
管道模式
Pipeline Pattern
分治(Divide and Conquer)