首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >设计模式:抽象工厂与工厂方法

设计模式:抽象工厂与工厂方法
EN

Stack Overflow用户
提问于 2010-11-18 06:25:08
回答 10查看 65.3K关注 0票数 144

注意:问题在帖子的末尾。

我已经阅读了其他关于抽象工厂与工厂方法的堆栈溢出线程。我理解每个模式的意图。然而,我并不清楚它的定义。

工厂方法定义了一个用于创建对象的接口,但让子类决定实例化哪些子类。工厂方法让类将实例化推迟到子类。

相反,抽象工厂提供了一个接口,用于创建相关或依赖对象族,而无需指定它们的具体类。

-John Feminella

抽象工厂看起来与工厂方法非常相似。我画了几个UML类来说明我的观点。

注意:

  • 这张图来自www.yuml.com,所以它们没有完全定向。但这是一项免费的服务:)。
  • 图表可能并不完美。我还在学习GoF设计模式。

工厂方法:

抽象工厂(仅1个成员):

抽象工厂(更多成员):

问题:

  1. 如果抽象工厂只有一个创建者和一个产品,它仍然是抽象工厂模式吗?(用于创建族的接口)
  2. 工厂方法具体创建器可以从接口创建,还是必须从类创建?(类将实例化推迟到subclasses)
  3. If抽象工厂只能有一个创建者和一个产品,这是抽象工厂工厂方法之间的唯一区别,前者的创建者是接口,后者的创建者是类?
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4209791

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档