定义
抽象工厂模式(Abstract Factory):也属于创建型模式,是工厂模式的一种。抽象工厂模式和工厂方法模式非常相似,下面通过代码和类图展示它们的区别。
代码实战
1 | interface Pizza { |
类图
特点
抽象工厂模式相比于工厂模式,每个抽象工厂不止能生产一个产品。在工厂模式的介绍中,我们使用Pizza距离,其中芝士Pizza工厂可以生产芝士Pizza,牛肉Pizza工厂可以生产牛肉Pizza。如果两个工厂又新增了汉堡的产线,那么就在工厂的接口中再新增一个抽象方法。
这个设计模式并不好,因为改动太大,需要修改工厂接口类(添加方法),还需要修改每一个工厂的实现类(重写新增的方法)。
总结
小伙伴们注意理解工厂模式和抽象工厂模式的区别,尽量多使用工厂模式解决问题。