38

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

4

3 回答 3

35

当您想要隐藏一个实现 或者它是关于更改某个类或一组类的接口时,可以使用外观模式。Builder 通过以较小的步骤分解构造过程来隐藏构造过程。

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

于 2012-06-25T11:59:42.340 回答
18

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

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

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

于 2012-06-25T11:59:07.213 回答
7

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

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

相反,Facade模式用于为客户端类不应该看到的许多不同操作提供简单的接口。

于 2012-06-25T12:01:31.647 回答