码迷,mamicode.com
首页 > Web开发 > 详细

php设计模式之抽象工厂模式

时间:2015-09-25 11:08:07      阅读:156      评论:0      收藏:0      [点我收藏+]

标签:

之前总结了一下工厂模式,其实准确地说是简单 工厂模式,在它的基础上再进行抽象就可以得到一种新的模式:抽象工厂模式。

专业一点的定义为:

抽象工厂模式(Abstact Factory)是一种常见的软件设计模式。该模式为一个产品族提供了统一的创建接口。当需要这个产品族的某一系列的时候,可以为此系列的产品族创建一个具体的工厂类。

In a word:

抽象工厂可以看做是多个简单工厂的集合。我们往往把一种简单工厂看做只生产一类产品族群的工厂。

什么时候用抽象工厂模式?当我们需要的产品(也就是对象)不止一种族群的时候,就可以使用该模式。下面给出uml图,便于理解结构关系:

 

技术分享

在原本的工厂类之上再抽象出一个基类(抽象类),定义公共 接口以待实现。不同的产品族中的产品也抽象出一个基类,对产品功能特性进行规范。 

比如Linux 和windows系列产品族,各自有自己的产品。

Linux: 手机(安卓,还有ubuntu手机),电脑系统(redHat,ubuntu,centos等发行版),平板(安卓)。

windows:手机(lumia,wp手机),电脑系统(windows xp,7,8,8.1,10 or other),平板(surface)。

 (待续....)

php设计模式之抽象工厂模式

标签:

原文地址:http://www.cnblogs.com/freephp/p/4834927.html

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