设计模式-3.1 Abstract Factory(抽象工厂)--对象创建型模式
2012-04-25 21:32
351 查看
我将按照描述一个设计模式的顺序进行以后博客的书写(其实,主要是设计模式这本书上是按照这个顺序进行书写的(*^__^*) )。
1.意图
提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。
2.别名 Kit(工具箱,装备)
3.动机。为了支持多种视感(look-and-feel)。客户仅与抽象类定义的接口交互,而不使用特定的具体类的接口
4.实用性(以下情况可以使用Abstract Factory模式)
一个系统要对立与他的 产品的创建、组合和表示时
一个系统要由多个产品系列中的一个来配置时
当你要强调一系列相关的产品对象的设计以便进行联合使用时
当你提供一个产品库,而只想显示他们的接口而不是实现时
5.结构
6.参与者
Abstarctory:声明一个创举抽象产品对象的操作接口。
ConcreteFactory:实现创建具体产品对象的操作
AbstractProduct:为一类产品对象声明一个接口
ConcreteProduct:定义一个将相应的具体工厂创建的产品对象,实现AbstractProduct接口
Client:仅使用由AbstractFactory和AbstractProduct类声明的接口
7.协作
通常在运行时刻创建一个ConcreteFactory类的实例。这一具体的工厂创建具有特定实现的产品对象。为创建不同的产品对象,客户应使用不同的具体工厂。
AbstractFactory将产品对象的创建延迟到它的ConcreteFactory子类中
8.效果
它分离了具体的类 Abstract Factory模式帮助你控制一个应用创建的对象的类。因为一个工厂封装创建产品对象的责任和过程,它将客户与类的实现分离。
它使得易于交互产品系列
它有利于产品的一致性
难以支持新种类的产品
9.实现(实现Abstract Factory模式的一些有用的技术)
将工厂作为单件
创建产品
定义可扩展的工厂
10.实例,就是扩展带有炸弹的Room和带有魔法的Door的迷宫游戏,我把完整代码实现附上。
代码下载:AbstractFactory_MazeGame.rar
1.意图
提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。
2.别名 Kit(工具箱,装备)
3.动机。为了支持多种视感(look-and-feel)。客户仅与抽象类定义的接口交互,而不使用特定的具体类的接口
4.实用性(以下情况可以使用Abstract Factory模式)
一个系统要对立与他的 产品的创建、组合和表示时
一个系统要由多个产品系列中的一个来配置时
当你要强调一系列相关的产品对象的设计以便进行联合使用时
当你提供一个产品库,而只想显示他们的接口而不是实现时
5.结构
6.参与者
Abstarctory:声明一个创举抽象产品对象的操作接口。
ConcreteFactory:实现创建具体产品对象的操作
AbstractProduct:为一类产品对象声明一个接口
ConcreteProduct:定义一个将相应的具体工厂创建的产品对象,实现AbstractProduct接口
Client:仅使用由AbstractFactory和AbstractProduct类声明的接口
7.协作
通常在运行时刻创建一个ConcreteFactory类的实例。这一具体的工厂创建具有特定实现的产品对象。为创建不同的产品对象,客户应使用不同的具体工厂。
AbstractFactory将产品对象的创建延迟到它的ConcreteFactory子类中
8.效果
它分离了具体的类 Abstract Factory模式帮助你控制一个应用创建的对象的类。因为一个工厂封装创建产品对象的责任和过程,它将客户与类的实现分离。
它使得易于交互产品系列
它有利于产品的一致性
难以支持新种类的产品
9.实现(实现Abstract Factory模式的一些有用的技术)
将工厂作为单件
创建产品
定义可扩展的工厂
10.实例,就是扩展带有炸弹的Room和带有魔法的Door的迷宫游戏,我把完整代码实现附上。
代码下载:AbstractFactory_MazeGame.rar
相关文章推荐
- 设计模式之 抽象工厂(Abstract Factory)---对象创建型模式
- 设计模式之ABSTRACT FACTORY(抽象工厂)—对象创建型模式
- Cocos2d-x3.2与设计模式(一)创建型模式之ABSTRACT FACTORY(抽象工厂)--对象创建型模式
- 设计模式--创建型-AbstractFactory(抽象工厂)
- [导入]C#面向对象设计模式纵横谈(6):Prototype 原型模式(创建型模式).zip(9.56 MB)
- 设计模式(二):抽象工厂AbstractFactory(创建型模式)
- 设计模式 3.5 Singleton(单件)-对象创建型模式
- C#面向对象设计模式纵横谈(2):Singleton 单件(创建型模式) 笔记
- 设计模式(4)-对象创建型模式-Prototype模式
- Sigleton单件(创建型模式)--面向对象设计模式纵横谈讲座笔记之二
- 设计模式-创建型模式之 Abstract Factory(抽象工厂)
- [导入]C#面向对象设计模式纵横谈(5):Factory Method 工厂方法模式(创建型模式).zip(10.09 MB)
- 面向对象设计模式—创建型模式(学习笔记)
- (C++)设计模式------单例模式 singleton(简单的实现和对象释放的控制) -- 创建型模式
- 抽象工厂——创建型设计模式一
- 设计模式(3)-对象创建型模式-Abstract Factory模式
- 设计模式三:Builder 生成器——对象创建型模式
- 设计模式深入浅出(一)对象创建——工厂方法,抽象工厂
- Abstract Factory(抽象工厂)--对象创建型模式
- 设计模式-3.3 Factory Method(工厂方法) 对象创建型模式