码迷,mamicode.com
首页 > 其他好文 > 详细

(转)抽象工厂_笔记

时间:2016-05-23 16:46:41      阅读:127      评论:0      收藏:0      [点我收藏+]

标签:

抽象工厂:

定义:为创建一组相关或相互依赖的对象提供一个接口,而且无需指定他们的具体类。

类型:创建类模式

类图:

调用类Client

      工厂接口IFactory 产品接口IProduct

+createProduct() +productMethod()

工厂实现 Factory 产品实现Product

抽象工厂模式与工厂方法模式的区别

抽象工厂模式是工厂方法模式的升级版本,他用来创建一组相关或者相互依赖的对象。他与工厂方法模式

的区别在于,工厂方法模式针对的是一个产品等级结构;而抽象工厂模式则是针对多个产品等级结构。在编程中,

通常一个产品结构,表现为一个接口或者抽象类,也就是说,工厂方法模式提供的所有都是衍生自同一个接口或

抽象类,而抽象工厂模式所提供的产品则是衍生自不同的接口或抽象类。

在抽象工厂模式中,有一个产品族的概念:所谓产品族,是指位于不同产品等级结构中功能相关的产品组成的家族。

抽象工厂模式所提供的一系列产品就组成一个产品族;而工厂方法提供的一系列产品成为一个等级结构。

明白了等级结构和产品族的概念,就理解工厂方法模式和抽象工厂模式的区别了,如果工厂的产品不属于同一个

等级结构,则属于工厂方法模式;如果工厂的产品来自多个等级结构,则属于抽象工厂模式。

总结:

简单工厂:

1.抽象产品

2.具体产品

3.简单工厂

工厂模式:

1.抽象产品

2.具体产品

3.抽象工厂

4.具体工厂

抽象工厂模式:(1.系统中有多个产品族,而系统一次只可能消费其中一族产品2.同属于同一个产品族的产品以其使用。)有一个产品族的概念:所谓的产品族,是指位于不同产品等级结构中功能相关联的产品组成的家族

1.抽象产品

2.具体产品

3.抽象工厂

4.具体工厂

参考:http://blog.csdn.net/zhengzhb/article/details/7359385

http://www.cnblogs.com/zhangchenliang/p/3700820.html

工厂模式和策略模式区别:

工厂模式和策略模式的区别在于实例化一个对象的位置不同,对工厂模式而言,实例化对象是放在服务端的,即放在了工厂类里面;

而策略模式实例化对象的操作在客户端,服务端的“销售部门”只负责传递该对象,并在服务端的环境里执行特定的操作。。。

工厂模式要求服务端的销售部门足够灵敏,而策略模式由于对策略进行了封装,所以他的销售部门比较傻,需要客户提供足够能区分使用哪种策略的参数,而这最好的就是该策略的实例了。

(转)抽象工厂_笔记

标签:

原文地址:http://www.cnblogs.com/cangdingju/p/5520169.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!