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

设计模式

时间:2016-08-06 13:03:47      阅读:311      评论:0      收藏:0      [点我收藏+]

标签:

1. 工厂模式

工厂模式又细分为三种,分为简单工厂、工厂方法、抽象工厂这三种,

1)简单工厂模式:当你需要什么,只需要传入一个正确的参数,就可以获取你所需要的对象,而无须知道其创建细节。简单工厂模式的缺点是工厂类过于庞大,包含了大量的判断代码,导致为何和测试的难度增大;系统扩展不灵活,如果增加新类型的产品,必须修改静态工厂方法的业务逻辑,违反了开闭原则。

2) 工厂方法模式:定义一个用于创建对象的接口,让子类决定将哪个类实例化。工厂方法模式让一个类的实例化延迟到其子类。在工厂方法模式中,不再提供一个统一的工厂类来创建所有的产品对象,而且针对不同的产品提供不同的工厂,系统提供一个与产品等级结构对应的工厂等级结构。

3)抽象工厂模式:抽象工厂模式和工厂方法模式最大的区别是,工厂方法针对的是产品等级,而抽象工厂创建的是子类产品工厂。

简单工厂模式

客户端在创建同一类别的不同实体对象时,客户只需传递不同参数到工厂类,工厂类会创建出不同的对象。这样减低了客户端与实体的耦合,但是每增加一种实体,都要在工厂类中增加相应的逻辑,违反了开放封闭原则。

技术分享

工厂方法模式

工厂方法模式有一个基类工厂,而且去掉了简单工厂中工厂方法的静态属性,用基类工厂的子类来产生不同的实体。这样在简单工厂模式里集中在工厂方法上的压力可以由工厂方法模式里不同的工厂子类来分担。 但每个实体都对应一个工厂类。其图如下:

 

技术分享

抽象工厂模式

抽象工厂模式(Abstract Factory Pattern)是围绕一个超级工厂创建其他工厂。该超级工厂又称为其他工厂的工厂。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这里的超级工厂类为 AbstractFactory ,其子类有 ShapeFactory 与 ColorFactory ,分别用来产生Shape 与Color 的实体。其实是对简单工厂提取出一个抽象的基类。

 

技术分享

设计模式

标签:

原文地址:http://www.cnblogs.com/ooon/p/5743548.html

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