php设计模式(4)工厂模式之抽象工厂模式

2017-03-07 23:26:20 admin ...

前言:

上一节我们讨论了工厂方法模式,这一节我们继续讨论工厂模式中的最后一种模式——抽象工厂模式。

内容概要:

1、什么是抽象工厂法模式

2、怎么实现抽象工厂模式

3、示例代码

一、什么是抽象工厂法模式

抽象工厂模式是工厂模式中最抽象的一种模式,具有一般性,在PHP比较大的系统中经常用到。抽象工厂模式有多个抽象角色,相对来说比较复杂一些。

抽象工厂模式以系统的层面提供一个产品类的库,并将产品分为若干类型,将所有的产品以同样的接口被约束,让调用者不依赖产品的具体实现。

好吧,连解释都那么抽象,网上那么多关于抽象工厂的解释,我看起来也费劲。

我们还是以冰激凌工厂的例子来具体说明一下(当然,如果关于工厂模式的前三节您没有看的话,那请到空间先了解一下)

上节我们说了,生产冰激凌的工厂,又在其他地方建立了另一个工厂,同样生产冰激凌。由于生意特别好,老板有钱了,决定在每个工厂里生产罐头,并且生产桃子和梨的罐头。这个时候,我们就需要新增出罐头的抽象产品。这时候用到抽象工厂模式。

一句话解释:工厂里生产不止一类商品,就需要抽象工厂模式。

二、怎么实现抽象工厂模式

1、将抽象工厂里加增加罐头的实例化方法

2、新增罐头的接口和抽象类,以及具体的罐头产品类。

不好理解,那就上代码领会吧。

三、示例代码

代码就不分文件存储了。有什么问题请大家指正。




码字不容易,请尊重版权,转载请留下链接。

相似文章