再说设计模式-抽象工厂模式

2019-02-01  本文已影响33人  oneape15

定义

抽象工厂模式(Abstract Factory Pattern)是一种比较常用的模式,其定义如下:

Provide an interface for creating families of related or dependent objects without specifying their concrete classes.
为创建一组相关或相互依赖的对象提供一个接口,而且无需指定它们的具体类。

抽象工厂模式是工厂方法模式的升级版本,在有多个业务品种,业务分类时,通过抽象工厂模式产生需要的对象是一种非常好的解决方式。
抽象工厂模式的通用类图如下:


抽象工厂模式的通用类图

注意

  1. 有N个产品族,在抽象工厂类中就应该有N个创建方法。
  2. 有M个产品等级就应该有M个实现工厂类,在每个实现工厂中,实现不同产品族的生产任务。

抽象工厂模式的优点

抽象工厂模式的缺点

其最大的缺点就是产品族扩展非常困难。

抽象工厂模式的使用场景

抽象工厂模式的使用场景定义非常简单:一个对象族(或是一组没有任何关系的对象)都有相同的约束,则可以使用抽象工厂模式。
例如一个文本编辑器和一个图片处理器,都是软件实体,但是linux下的文本编辑器和Windows下的文本编辑器虽然功能和界面都相同,但是代码实现是不同的,图片处理器也有类似情况。

上一篇 下一篇

猜你喜欢

热点阅读