Facade模式和abstarct工厂模式之间有什么区别?

Ada*_*ham 30 java design-patterns facade abstract-factory

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

Sum*_*ngh 25

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

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


Yai*_*sky 13

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

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

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


Jac*_*ack 5

它们是用于完全无关的东西的两种模式.

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

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