GoF 创建模式

另请参见

GoF (Gang of Four) 创建模式将对实例过程抽象化。这些模式可帮助创建一个独立于所创建对象的系统。共有两种类型的创建模式:类创建模式和对象创建模式。类创建模式使用继承来改变被实例化的类。对象创建模式则对实例进行委托。

下表描述了各种 GoF 创建模式:

模式名称 处理的设计问题 角色 描述
Abstract Factory 以通用方式定义用来创建对象的接口,而不指定具体类。 AbstractFactory 定义用于创建抽象产品对象的公共接口
ConcreteFactory 定义用于创建具体产品对象的操作
Abstract Product 定义用于某一产品类型的公共接口。
ConcreteProduct 声明将由其相关具体工厂实例化的产品对象。定义 AbstractProduct 接口。
客户端 处理 AbstractFactory 和 AbstractProduct 对象。
Builder 将复杂对象的构建与其表示法分离,以使同一构建过程可以创建不同的表示法。 Builder 定义用于创建产品对象各个部分所需的操作。
ConcreteBuilder 实现在 Builder 接口中声明的操作
Director 通过 Builder 对象所公开的接口生成特定的产品。
产品 Builder 对象创建的具体类型。
Factory Method 提供用于创建对象的接口。实现基本 Factory 接口的子类可以决定在运行环境中要创建的具体对象。 产品 定义客户端创建对象所使用的公共接口。
Concrete Product 实现在 Product 接口中声明的操作。
Creator 定义用于创建实现 Product 接口的对象的操作。
ConcreteCreator 实现在 Creator 接口中声明的操作
Prototype 它提供了一个接口,客户端可通过此接口,使用特定对象来处理复制该同一对象时的特定详细信息,从而生成一个完全相同的副本。 Prototype 它提供了一个一致的方法,可用来复制当前对象。
ConcretePrototype 实现在 Prototype 接口中声明的操作。
客户端 处理 Prototype 对象
Singleton 保证只实例化特定类类型的一个实例,同时为所有相关客户端提供对该实例的全局访问。 Singleton 定义一组操作,可允许客户端访问此类型的单个实例。
另请参见
GoF 行为模式
GoF 结构模式

法律声明