门面模式和抽象工厂模式之间有什么区别?

时间:2012-06-25 11:54:21

标签: java design-patterns facade abstract-factory

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

3 个答案:

答案 0 :(得分:23)

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

当您想隐藏构造实例的详细信息时,使用抽象工厂模式。
提供用于创建相关或从属对象族的接口,而无需指定其具体类。

答案 1 :(得分:13)

Dunno为什么这被否定投票。这是一个合理的问题。

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

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

答案 2 :(得分:5)

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

使用抽象工厂模式,您只需为许多不同的构建器提供相同的工厂构建器。这可以在需要为一组构建器提供接口时使用,这些构建器与一些共同的东西(产品)一起使用,而不会打扰您要构建的内容或将要使用的工厂。

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