抽象工厂

简介: 抽象工厂

抽象工厂是创建型设计模式,它强调了一系列相关产品对象(属于同一个产品族)的创建过程,它和工厂方法模式的侧重点不同,工厂方法模式更加侧重于同一产品等级,而抽象工厂模式侧重的是同一产品族。简单说就是一个工厂中生产的一系列对象都是同一个产品族的。

还是用冰箱来举例,美的生产的产品有美的冰箱、美的空调、美的电风扇。


为了更好的学习抽象工厂模式先来了解下产品等级和产品族,相同的产品等级就是相同的产品,像美的冰箱、格力冰箱、海尔冰箱,它们都是冰箱,它们的产品等级都相同,虽然厂家不同。美的冰箱、美的空调和美电风扇,他们虽然不是同一个产品等级的,但是他们都来自同一家厂商美的,因此他们的产品族相同。


在这个工厂里面生产的所有产品对象都不是同一个产品等级的,它们属于同一个产品族,该工厂生产的一系列对象都是相关的。就像定义说的:抽象工厂模式提供一个创建一系列相关或相互依赖对象的接口。如果现在我们希望生产海尔的一系列产品就可以扩展抽象产品接口创建一系列海尔产品类,创建海尔的工厂负责生产海尔的产品。想生产格力的只需要进行扩展对应的产品和工厂就好了,从这点看完全遵循开闭原则。不过抽象工厂模式的不足也很明显,如果美的现在又搞洗衣机了,就需要修改接口和所有的实现类,因此对于扩展一个新的产品等级来说,不遵循开闭原则。


目录
相关文章
|
3月前
|
设计模式 Java
Java设计模式:工厂模式之简单工厂、工厂方法、抽象工厂(三)
Java设计模式:工厂模式之简单工厂、工厂方法、抽象工厂(三)
抽象工厂和工厂方法对比
抽象工厂和工厂方法对比
41 0
|
12月前
浅谈工厂方法模式
浅谈工厂方法模式
工厂方法模式是怎么变抽象工厂的
工厂方法模式是怎么变抽象工厂的
26 0
简单工厂、工厂、抽象工厂总结
简单工厂、工厂、抽象工厂总结
37 0
|
设计模式 算法 搜索推荐
工厂方法模式的两个极端
概念:是一种常用的对象创建型设计模式,此模式的核心精神是封装类中不变的部分,提取其中个性化善变的部分为独立类,通过依赖注入以达到解耦、复用和方便后期维护拓展的目的。
|
C++
工厂方法VS简单工厂
工厂方法VS简单工厂
42 0
|
C# uml
C#简单工厂总结
C#简单工厂总结
42 0
|
设计模式
工厂方法模式详细介绍
工厂方法模式(Factory Method Pattern)是一种创建型设计模式,它提供了一种将对象的创建逻辑封装在工厂类中的方式,使得客户端代码无需直接依赖具体的类来创建对象。
90 0
|
设计模式 缓存 Java
简单工厂不简单
简单工厂不简单
简单工厂不简单