前言:
上一节我们讨论了工厂方法模式,这一节我们继续讨论工厂模式中的最后一种模式——抽象工厂模式。
内容概要:
1、什么是抽象工厂法模式
2、怎么实现抽象工厂模式
3、示例代码
一、什么是抽象工厂法模式
抽象工厂模式是工厂模式中最抽象的一种模式,具有一般性,在PHP比较大的系统中经常用到。抽象工厂模式有多个抽象角色,相对来说比较复杂一些。
抽象工厂模式以系统的层面提供一个产品类的库,并将产品分为若干类型,将所有的产品以同样的接口被约束,让调用者不依赖产品的具体实现。
好吧,连解释都那么抽象,网上那么多关于抽象工厂的解释,我看起来也费劲。
我们还是以冰激凌工厂的例子来具体说明一下(当然,如果关于工厂模式的前三节您没有看的话,那请到空间先了解一下)
上节我们说了,生产冰激凌的工厂,又在其他地方建立了另一个工厂,同样生产冰激凌。由于生意特别好,老板有钱了,决定在每个工厂里生产罐头,并且生产桃子和梨的罐头。这个时候,我们就需要新增出罐头的抽象产品。这时候用到抽象工厂模式。
一句话解释:工厂里生产不止一类商品,就需要抽象工厂模式。
二、怎么实现抽象工厂模式
1、将抽象工厂里加增加罐头的实例化方法
2、新增罐头的接口和抽象类,以及具体的罐头产品类。
不好理解,那就上代码领会吧。
三、示例代码
代码就不分文件存储了。有什么问题请大家指正。
码字不容易,请尊重版权,转载请留下链接。