感觉抽象工厂就是 比工厂模式 多了一种或多种生产抽象产品的方法, 多了一套抽象产品.
如果不用抽象工厂模式的 新来了一类产品 还需要新建一套工厂代码
其实感觉这三个工厂模式都是一层一层递进. 简单工厂 对外修改开放. 工厂是建立单一产品
用数学的角度来看 就是 1->2 ->4
一个工厂,可以造两种商品, 每种商品还有两种不同表现形式.
同时感觉扩展类似工厂模式代码:
思路1: 新建工厂类继承老的工厂模式. 同时新商品的实现类也要集成老商品的实现类,以此达到扩展的目的
思路2: 新建一个管理工厂, 包含 新老工厂的实例. 同时老的工厂方法就调用原来的, 新的方法就调用新的.
看着这么多,总体思考而言 面向接口编程的重要性