首页 > 其他 > 详细

【设计模式】抽象工厂模式

时间:2020-01-22 13:06:43      阅读:72      评论:0      收藏:0      [点我收藏+]

抽象工厂模式

抽象工厂模式:提供了一个创建一些列相关或相互依赖对象的接口,而无需指定它们具体的类。

先回顾一下简单工厂和工厂方法:

  • 简单工厂:其有一个产品的抽象基类,从中衍生出多个具体的产品。还有一个工厂类,其中通过switch再利用多态的形式,构建产品。
  • 工厂方法:由于简单工厂如果添加产品就会导致更改了工厂类,违反了开闭原则。所以工厂方法将工厂也抽象,由一个工厂基类,派生出与产品类对应的工厂子类。

如果说当工厂生产的产品无法共同抽象出一个工厂基类怎么办?

举个栗子:我生产的运动裤,牛仔裤,卫衣,棉衣。那么我需要的是一个裤子的基类和一个衣服的基类。

技术分享图片
技术分享图片

抽象工厂的好坏:

-优点:可以很方便得切换两个工厂。
-缺点:但是如果再添加工厂那改的类就需要好多。(可以利用反射机制改进,但C++中没有该机制,带Java中遇到深入看看)

【设计模式】抽象工厂模式

原文:https://www.cnblogs.com/LampsAsarum/p/12228358.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!