-1

我在 web 中经常提到外观设计模式。从字面上看,可以清楚地想象外观 bean 是什么。但是,在实现方面,我无法与委托模式有任何区别。任何人都可以解释外观模式的实现以及它与 Java 中的委托模式有何不同?

4

2 回答 2

2

外观模式为您提供了一个隐藏所有实现细节的抽象层。委派是让其他实体做你的工作的能力,你委派。

在 Java 中,您可以创建一个 Facade 类,并在其中使用一组具有真实代码的类。例如,对于委托,您会在构造函数中收到对其他类的引用,然后在第二个类中调用一些预定义的 API,因为委托可能实现某种接口。

于 2013-03-01T11:48:25.937 回答
1

服务门面通常是客户的入口点。它提供了一个粗粒度、用例驱动的 API。Service Facade 启动事务,必要时从 DTO 转换为 DTO,并且可以调用细粒度的服务和 DAO。

对于 Web 应用程序,还有网关模式(具有扩展持久性上下文的有状态 EJB)在某些情况下可以用来代替服务外观。(JPA 实体不会分离。)

有关更多信息,请查看 Adam Bien 所著的“Real World Java EE Patterns - Rethinking Best Practices”一书:http ://realworldpatterns.com/

于 2013-03-01T11:49:24.987 回答