接着上个工厂模式的思考,某一天,狗卖的很差,老板要求在每个商品中要额外加入狗的信息,但狗本身除外。
首先我们先规范代码,每个商品必须要有getList()方法,想到的是interface,代码如下
1 | interface Product{ |
所有的商品必须要集成接口.
1 | class ProductFactory{ |
我们这里要引入数据中心模式,坚决不予类本身打交道。
这里我们创建ProductDataCenter;
1 | class ProductDataCenter{ |
我们改造工厂
1 | require 'ProductDataCenter.php'; |
我们调用的时候,
1 | ProductFactory::getProduct('Books'); |
我们要设置数据中心静态的魔术函数
1 | class ProductDataCenter{ |
思考:支持字符串和数组的方式来创建。