设计模式(4)——抽象工厂模式
2017-03-28 11:33
585 查看
为什么使用抽象工厂模式?
在工厂方法模式中,是一个工厂生产一个特定的产品,但是有时需要一个工厂生产一组产品。这样的一组产品称之为产品族。
例如 戴尔工厂生产的 鼠标、键盘、显示器等,就属于一个产品族。
而不同的工厂如华硕也生产上面一些产品,这些相同产品不同品牌就构成了产品等级结构。
产品等级结构描述的是,产品的继承结构,抽象产品到具体产品就构成了产品等级结构。
产品族描述的是同一个工厂,位于不同产品等级结构的一组产品。
抽象工厂模式(Abstract Factory Pattern):提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们具体的类。
为什么要使用抽象方法模式?
当一个工厂不仅仅生产单一的产品时,工厂方法模式不能简单有效的实现这样的需求。
而工厂方法模式和抽象工厂模式的区别就在于,工厂方法模式针对的是一个产品等级结构,而抽象工厂模式则需要面对多个产品等级结构。
怎样使用抽象工厂模式?
抽象工厂模式同样包含四个角色:
抽象产品,具体产品,抽象工厂,具体工厂。
图片引用自【图说设计模式】
在工厂方法模式中,是一个工厂生产一个特定的产品,但是有时需要一个工厂生产一组产品。这样的一组产品称之为产品族。
例如 戴尔工厂生产的 鼠标、键盘、显示器等,就属于一个产品族。
而不同的工厂如华硕也生产上面一些产品,这些相同产品不同品牌就构成了产品等级结构。
产品等级结构描述的是,产品的继承结构,抽象产品到具体产品就构成了产品等级结构。
产品族描述的是同一个工厂,位于不同产品等级结构的一组产品。
抽象工厂模式(Abstract Factory Pattern):提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们具体的类。
为什么要使用抽象方法模式?
当一个工厂不仅仅生产单一的产品时,工厂方法模式不能简单有效的实现这样的需求。
而工厂方法模式和抽象工厂模式的区别就在于,工厂方法模式针对的是一个产品等级结构,而抽象工厂模式则需要面对多个产品等级结构。
怎样使用抽象工厂模式?
抽象工厂模式同样包含四个角色:
抽象产品,具体产品,抽象工厂,具体工厂。
图片引用自【图说设计模式】
相关文章推荐
- 设计模式C#描述——抽象工厂模式
- .NET设计模式-抽象工厂模式(Abstract Factory)
- 设计模式C#描述——抽象工厂模式
- 乐在其中设计模式(C#) - 抽象工厂模式(Abstract Factory Pattern)
- 设计模式——创建型模式之 Abstract Factory抽象工厂模式
- [导入]C#面向对象设计模式纵横谈(3):Abstract Factory 抽象工厂模式(创建型模式)
- 设计模式C#描述——抽象工厂模式
- Java设计模式圣经连载(03)-抽象工厂模式
- 乐在其中设计模式(C#) - 抽象工厂模式(Abstract Factory Pattern)
- 我的设计模式之旅(3)――抽象工厂模式AbstractFactory
- 设计模式实践(抽象工厂模式应用)—通信录的优化过程
- 设计模式之抽象工厂模式
- AspectJ实现设计模式(四)——抽象工厂模式
- .NET设计模式:抽象工厂模式(Abstract Factory)
- [导入]C#面向对象设计模式纵横谈(4):Abstract Factory 抽象工厂模式(创建型模式)
- 设计模式笔记-抽象工厂模式
- .Net设计模式之抽象工厂模式(Abstract Factory)
- .NET设计模式(3):抽象工厂模式(Abstract Factory)(转)
- 乐在其中设计模式(C#) - 抽象工厂模式(Abstract Factory Pattern)
- 设计模式(3)-抽象工厂模式(Abstract Factory)