创建模式
创建模式是对类的实例化过程的抽象化。
- 类的创建模式:使用继承关系,把类的创建延迟到子类,从而封装了客户端将得到哪些具体类的信息,并且隐藏了这些类的实例是如何被创建和放在一起的。
- 对象的创建模式:把对象的创建过程动态地委派给另一个对象,从而动态地决定客户端将得到哪些具体类的实例,以及这些类的实例是如何被创建和组合在一起的。
常用的创建模式包括以下几种:
- 简单工厂(Simple Factory)模式
- 工厂(Factory Method)模式
- 抽象工厂(Abstract Factory)模式
- 单例(Singleton)模式
- 多例(Multiton)模式
- 建造(Builder)模式
- 原始模型(Prototype)模式
结构模式
结构模式描述如何将类或者对象结合在一起形成更大的结构。
- 类的结构模式:使用继承来把类、接口等组合在一起,以形成更大的结构。当一个类从父类继承并实现某接口时,这个新的类就把父类的结构和接口的结构结合起来。类的结构模式是静态的。一个类的结构模式的典型例子,就是类形式的适配器模式。
- 对象的结构模式:对象的结构模式描述怎样把各种不同类型的对象组合在一起,以实现新的功能的方法。对象的结构模式是动态的。
对象的结构模式典型代表就是代理人模式,还包括合成模式、享元模式、装饰模式、对象形式的适配器模式等。
适配器模式同时拥有对象形式和类形式的结构模式。
常用的结构模式包括以下几种:
- 适配器(Adapter)模式
- 缺省适配(Default Adapter)模式
- 合成(Composite)模式
- 装饰(Decorator)模式
- 代理(Proxy)模式
- 享元(Flyweight Pattern)模式
- 门面(Facade)模式
- 桥梁(Bridge)模式
行为模式
行为模式是对在不同的对象之间划分责任和算法的抽象化。行为模式不仅仅是关于类和对象的,而且是关于它们之间的相互作用的。
- 类的行为模式:使用继承关系在几个类之间分配行为。
- 对象的行为模式:使用对象的聚合来分配行为。
常用的行为模式包括以下几种:
- 不变(Immutable)模式
- 策略(Strategy)模式
- 模板方法(Template Method)模式
- 观察者(Observer)模式
- 迭代子(Iterator)模式
- 责任链(Chain of Responsibility)模式
- 命令(Command)模式
- 备忘录(Memento)模式
- 状态(State)模式
- 访问者(Visitor)模式
- 解释器(Interpreter)模式
- 调停者(Mediator)模式等。