为什么使用抽象工厂模式?
在工厂方法模式中,是一个工厂生产一个特定的产品,但是有时需要一个工厂生产一组产品。这样的一组产品称之为产品族。
例如 戴尔工厂生产的 鼠标、键盘、显示器等,就属于一个产品族。
而不同的工厂如华硕也生产上面一些产品,这些相同产品不同品牌就构成了产品等级结构。
产品等级结构描述的是,产品的继承结构,抽象产品到具体产品就构成了产品等级结构。
产品族描述的是同一个工厂,位于不同产品等级结构的一组产品。
抽象工厂模式(Abstract Factory Pattern):提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们具体的类。
为什么要使用抽象方法模式?
当一个工厂不仅仅生产单一的产品时,工厂方法模式不能简单有效的实现这样的需求。
而工厂方法模式和抽象工厂模式的区别就在于,工厂方法模式针对的是一个产品等级结构,而抽象工厂模式则需要面对多个产品等级结构。
怎样使用抽象工厂模式?
抽象工厂模式同样包含四个角色:
抽象产品,具体产品,抽象工厂,具体工厂。
图片引用自【图说设计模式】