首页 > 其他 > 详细

简单工厂,抽象工厂,工厂方法区别

时间:2015-01-13 19:47:14      阅读:271      评论:0      收藏:0      [点我收藏+]

1.简单工厂:

技术分享

简单工厂中的工厂类包含了逻辑判断,可以根据客户端的选择,来动态创建实例,去除了客户端对具体产品的依赖。注意简单工厂违背了设计模式中的开闭原则,所以说简单工厂并不属设计模式。

构成:

一个包含逻辑判断的具体工厂类;

一个抽象产品类,可以派生多个具体的产品类。

 

 

 

 

2.工厂方法模式:

技术分享

定义一个抽象工厂类,在这个抽象工厂类中负责制定一些规范,将实际创建产品工作放到到子类当中。核心工厂类不再负责产品的创建,这样核心类成为一个抽象工厂角色,仅负责具体工厂子类必须实现的接口,相对于简单工厂来说可以使系统在不修改工厂的情况下,引进新的产品。每个具体工厂类只能创建一个具体产品类的实例。

 

构成:
一个抽象产品类,可以派生出多个具体产品类。
一个抽象工厂类,可以派生出多个具体工厂类。

 

 

 

3.抽象工厂模式

技术分享

 

 

抽象工厂模式是指当有多个抽象角色时,使用的一种工厂模式。抽象工厂模式可以向客户端提供一个接口,使客户端在不必指定产品的具体的情况下,创建多个产品族中的产品对象。相对于工厂方法模式来说,抽象工厂有多个抽象产品类,每个具体工厂类可以创建多个具体产品类的实例。而不是像工厂方法那样,一个工厂只能创建一个产品。

 

构成:
多个抽象产品类,每个抽象产品类可以派生出多个具体产品类。
一个抽象工厂类,可以派生出多个具体工厂类。

 

简单工厂,抽象工厂,工厂方法区别

原文:http://www.cnblogs.com/ywtk/p/4222193.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!