模式就是一种标准,任何模式的核心要素在于它的意图,设计模式的意图在于用更为简便的方式表达需求,而这些却是java提供的常规机制所无法满足的。例如,java为定义一个接口提供了丰富的支持,以便类能够实现接口,然而,倘若我们拥有一个实现了“错误”接口的类,却又要满足客户的需求,就需要运用适配器模式。适配器模式的设计意图是内置于Java语言中的接口所无法满足的。
按照意图可将设计模式分为接口型模式、职责型模式、构造型模式、操作型模式、扩展型模式。
意图 | 模式 |
接口型模式 | 适配器模式、外观模式、合成模式、桥接模式 |
职责型模式 | 单例模式、观察者模式、调停者模式、代理模式、职责链模式、享元模式 |
构造型模式 | 构建者模式、工厂方法模式、抽象工厂模式、原型模式、备忘录模式 |
操作型模式 | 模板方法模式、状态模式、策略模式、命令模式、解释器模式 |
扩展型模式 | 装饰器模式、迭代器模式、访问者模式 |