【问题标题】:What is the differences between facade pattern and abstarct factory pattern? [closed]外观模式和抽象工厂模式有什么区别? [关闭]
【发布时间】:2012-06-26 16:20:40
【问题描述】:

我不是在问面试的观点。我想知道在struts框架等项目中实现的实时场景。

【问题讨论】:

  • 只需查找一些代码。网上有很多例子。
  • 它们完全不同,属于不同的类别:一个是结构性的,另一个是创造性的。

标签: java design-patterns facade abstract-factory


【解决方案1】:

外观模式用于隐藏实现,或者用于更改某些类或类集的接口。 Builder 通过以较小的步骤分解构造过程来隐藏构造过程。

抽象工厂模式用于隐藏构造实例的细节。
提供用于创建相关或依赖对象系列的接口,而无需指定它们的具体类。

【讨论】:

  • 我同意这个答案。它包含一个简单易懂的理由来了解这两种模式之间的区别。
【解决方案2】:

我不知道,为什么这被否决了。这是一个合理的问题。

我的看法 - 外观是一个类或一组类,对用户隐藏内部实现/服务。

抽象工厂封装了一组用于创建对象的工厂,而 Facade 可用于为各种操作提供抽象,而不仅仅是创建。

【讨论】:

  • 感谢您的回复。
  • 可能已经关闭,因为感觉太像“(x,y)之间有什么区别?” :: 其中 x,y ∈ GoF 模式
【解决方案3】:

它们是用于完全不相关的事物的两种模式。

使用抽象工厂模式,您只需为同一事物的许多不同构建器提供一个通用工厂构建器。每当您需要为一组构建器提供接口时,都可以使用此接口,这些构建器旨在与共同的东西(产品)一起使用,而无需担心您要构建什么或要使用哪个工厂。

Facade 模式被用来为客户端类不应该看到的许多不同操作提供一个简单的接口。

【讨论】:

  • 感谢您的回复。
猜你喜欢
  • 1970-01-01
  • 2017-07-31
  • 1970-01-01
  • 2010-10-11
  • 1970-01-01
  • 2010-10-19
  • 1970-01-01
  • 1970-01-01
  • 2011-01-18
相关资源
最近更新 更多