设计模式
23 种设计模式由四人组(Gang of Four/Gof: Erich Gamma、Richard Helm、Ralph Johnson、John Vlissides)在 1994 年 PLoP 归纳发表。
设计模式是在特定环境下为解决某一通用软件设计问题提供的一套定制的解决方案,该方案描述了对象和类之间的相互作用。
TODO:
结构图、实例类图、优/缺点、适用环境
设计模式一般有两种分类方式:
根据目的分类:
创建型(工厂方法模式、抽象工厂模式、建造者模式、原型模式、单例模式)
结构型(适配器模式、桥接模式、组合模式、装饰模式、外观模式、享元模式、代理模式)
行为型(责任链模式、命令模式、解释器模式、迭代器模式、中介者模式、备忘录模式、观察者模式、状态模式、策略模式、模板方法模式、访问者模式)
根据范围分类:
类模式(处理类和子类之间的关系,这些关系通过继承建立,在编译时就被确定下来,是一种静态关系)
对象模式(处理对象之间的关系,这些关系在运行时变化,具有动态性)
范围/目的 | 创建型模式 | 结构型模式 | 行为型模式 |
---|---|---|---|
类模式 | 工厂方法模式 | (类)适配器模式 | 模板方法模式 |
解释器模式 | |||
对象模式 | 抽象工厂模式 | (对象)适配器模式 | 责任链模式 |
建造者模式 | 桥接模式 | 命令模式 | |
原型模式 | 组合模式 | 迭代器模式 | |
单例模式 | 装饰者模式 | 中介者模式 | |
外观模式 | 备忘录模式 | ||
享元模式 | 状态模式 | ||
代理模式 | 策略模式 | ||
访问者模式 |