java设计模式--抽象工厂模式

不问归期 提交于 2019-12-02 19:36:27

工厂方法模式中只考虑一类产品的生成,如畜牧场只养动物,而抽象工厂模式考虑多等级产品的实现

1,定义:是一种为访问类提供一个创建一组相关或相互依赖对象的接口,且访问类无需指定所需要产品的具体类就能得到同组的不同等级的产品的模式结构。它是工厂方法模式的升级。

使用抽象工厂方式要满足以下条件

  系统中有多个产品族,每个具体工厂创建同一族但属于不同等级结构的产品

  系统一次只能消费其中的某一族产品,即同族产品一起使用。

抽象工厂模式具有工厂方法模式的优点,还有其他优点

  可以在类的内部对产品族中相关联的多等级产品共同管理,而不必引入多个新的类来进行管理

  当增加一个新产品族时,不需要修改原代码,满足开闭原则

缺点

  当增加一个新的产品时,所有的工厂类都需要修改

 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!