抽象工厂模式优点
- 抽象工厂模式在不同的工厂,可以具体实现自己的方法,比较方便。并且如果新加工厂的话,也不需要修改其他工厂的代码。
- 客户端操作对象是对应的抽象接口,让产品类和客户端分离。
抽象工厂模式缺点
- 抽象工厂实现起来比较复杂,它适合复杂问题的解决。每次增加新的工厂都需要增加几个类。
实现
-
场景:一个水果工厂,他全国各地都有加工贩卖的分工厂。以这样的例子实现结构如下图:
-
首先创建抽象工厂:
-
抽象具体水果:
-
自己的工厂实现自己的水果类:
-
继承抽象工厂,实现自己的工厂类:
-
定义获取工厂实例类:
-
客户端调用: