ABSTRACT FACTORY(抽象工厂) --对象创建型模式
一、意图
1、提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。
2、抽象工厂是一个能从几组类中返回其中某一组的工厂对象。
二、别名
kit
三、结构(示例解决方案)
四、适用性
在一下情况可以使用Abstract Factory模式
1、一个系统要独立于它的产品的创建、组合和表示时
2、一个系统要由多个产品系列中的一个来配置时
3、当你要强调一系列相关的产品对象的设计以便进行联合使用时
4、当你提供一个产品类库,而只想显示它们的接口而不是实现时
五、参与者
1、Abstract Factory--申明一个创建一系列抽象产品对象的操作接口。
2、Concrete Factory--实现创建具体产品对象的操作
3、Abstract Product--为一类产品对象申明一个接口
4、Concrete Product-定义一个将被相应的具体工厂创建的产品对象,实现Abstract Product接口
5、Client--仅使用由Abstract Factory和Abstract Product类申明的接口
六、协作
1、通常在运行时刻创建一个Concrete Factory类的实例。这一具体的工厂创建具有特定实现的产品对象。
2、为创建不同的产品对象,客户应使用不同的具体工厂
3、Abstract Factory将产品对象的创建延迟到它的Concrete Factory子类。
七、效果
Abstract Factory模式有下面的一些优点和缺点:
1、它分离了具体的类
2、它使得易于交换产品系列
3、它有利于产品的一致性
4、难以支持新种类的产品
- 大小: 47.4 KB
分享到:
相关推荐
Java常用设计模式(SingleTon、FactoryMethod、AbstractFactory)
3、抽象工厂模式(Abstract Factory Pattern) 用意:一个工厂生产一系列产品
在前一节,我们介绍了Strategy模式,并使用此模式实现了一个根据角色的职业来分配技能的范例(实际也就是动态地为类分配方法)。...本文将讨论如何使用GOF的Abstract Factory抽象工厂来实现这样的角色外形设计。
对设计模式—Abstract Factory模式的认识
分层架构设计支持SQLServer+Oracle|WebUI+WinUI 抽象工厂(Abstract Factory)应用案例
设计模式C++学习之抽象工厂模式(AbstractFactory)
抽象工厂模式(Abstract Factory Pattern):提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们具体的类。抽象工厂模式又称为Kit模式,属于对象创建型模式。
8 public override AbstractFactory.AbstractCoat CreateCoat() 9 { 10 return new CoatA(); 11 } 12 13 public override AbstractTrousers CreateTrousers() 14 { 15 return new TrousersA(); 16 } 17 } 18 19 /*...
Abstract Factory模式 1 定义创建对象的接口,并封装对象的创建 2 将具体化类的工作延迟到了类中 3 创建创建一组相关对象或者说是一组相互依赖的对象 一般情况下,我们为了提高内聚和松耦合,经常会使用多态来...
设计模式 抽象工厂 Abstract Factory 抽象工厂模式
AbstractFactory.rar qq:292258449
abstractfactory.cld
Abstractfactory Factory模式对于对象的创建给予开发人员提供了很好的实现策略,但是Factory模式仅仅局限于一类类(就是说Product是一类,有一个共同的基类),如果我们要为不同类的类提供一个对象创建的接口,那...
用C++实现AbstractFactory模式,简单易懂。
设计模式 t03AbstractFactory
AbstractFactory设计模式源码
博客 走进设计模式之抽象工厂(Abstract Factory) 对应代码
C#设计模式之抽象工厂(abstract factory)模式示例源代码
这是java抽象工厂模式(AbstractFactory),使用简单的代码配合博客可以更清楚的了解设计模式。