设计模式 抽象工厂模式(Abstract Factory Pattern)
来源:互联网 发布:windows 8 whql 编辑:程序博客网 时间:2024/04/28 14:33
抽象工厂模式
- 目的
- 结构
- 应用
- 结论
目的
- 提供一个接口用于创建没有指定具体的类的相关或依赖对象 。
结构
- AbstractFactory : 声明一个接口创建抽象产品对象的操作。
- ConcreteFactory :实现创建具体产品对象的操作。
- AbstractProduct : 声明一个接口类型的产品对象。
- ConcreteProduct: 定义一个相应的具体工厂创建的产品对象。
- Client : 只使用AbstractFactory和AbstractProduct声明的接口类。
应用
- 一个系统应该独立产品的创建,组织,描述。
- 一个系统应该配置多个系列的产品之一。
- 一系列相关产品对象被设计在一起使用,你应该准守这个约定。
- 你应该提供一个产品类库,以及暴露他们的接口,不是实现方法。
结论
- 隔离具体的类 抽象工厂模型帮助应用程序创建类对象。因为工厂封装了创建产品对象的责任和过程,所以隔离了客户端和类的实现方法。客户端通过抽象接口操作类的实例。产品类名是隔离在具体的实现工厂中,他们不会出现在客户端代码。
- 产品更换容易 一个具体工厂类的实例化在应用程序中只出现一次。这样使应用程序很容易改变具体工厂的使用。它可以通过改变具体工厂类使用不同的产品配置。
- 促进产品的一致性 当系列产品被设计为一起使用,重要的是应用程序使用产品对象只能在一个产品系列中。
- 支持新类型的产品是很困难的 扩展抽象工厂生产新的产品是不容易的,因为抽象工厂接口管理者一系列产品的创建,支持新类型的产品需要扩展工厂接口,这需要涉及到改变抽象工厂类和它所有的子类。
0 0
- 设计模式【抽象工厂Abstract Factory Pattern】
- 设计模式 - Abstract Factory Pattern(抽象工厂模式)
- 设计模式 - Abstract Factory Pattern(抽象工厂模式)
- 设计模式 - Abstract Factory Pattern(抽象工厂模式)
- 设计模式3:Abstract Factory Pattern(抽象工厂模式)
- 乐在其中设计模式(C#) - 抽象工厂模式(Abstract Factory Pattern)
- Net设计模式之抽象工厂模式(Abstract Factory Pattern)
- 设计模式——抽象工厂模式【Abstract Factory Pattern】
- c++设计模式:抽象工厂模式(Abstract Factory Pattern)
- 设计模式 - 抽象工厂模式(abstract factory pattern) 详解
- JAVA设计模式之 抽象工厂模式【Abstract Factory Pattern】
- 浅谈设计模式:抽象工厂模式(Abstract Factory Pattern)
- 设计模式:抽象工厂模式(Abstract Factory Pattern)
- 设计模式--抽象工厂模式【 Abstract Factory Pattern】
- 设计模式 抽象工厂模式(Abstract Factory Pattern)
- 设计模式(3):抽象工厂模式(Abstract Factory Pattern)
- Java设计模式--抽象工厂模式【Abstract Factory Pattern】
- JAVA设计模式之 抽象工厂模式【Abstract Factory Pattern】
- ios随记(按钮取消高亮)
- C语言函数调用及栈帧分析
- 深度学习为何起作用——关键解析和鞍点
- JS代码放在head和body的区别
- 外观模式(Facade Pattern)或门面模式
- 设计模式 抽象工厂模式(Abstract Factory Pattern)
- 【郝斌数据结构自学笔记】10-11_跨函数使用内存讲解及其示例
- 比较全面的gdb调试命令
- ios 长时间后台
- C/C++内存管理详解
- KDnuggets热门深度学习工具排行:Pylearn2 居首,Caffe第三
- List对象排序 遇到的问题
- ubuntu 交叉编译x264 faac ffmpeg
- 欢迎使用CSDN-markdown编辑器