我已经多次提到网络中的外观设计模式。从字面上看,很容易想象一下外墙豆是什么。说到实现,我无法与委托模式有任何区别。任何人都可以解释Facade模式的实现以及它与Java中的委托模式的区别吗?
答案 0 :(得分:2)
Facade模式为您提供了一个隐藏所有实现细节的抽象层。委托是指委托其他实体开展工作的能力。
在Java中,您可以创建一个Facade类,并在里面使用具有实际代码的类的集合。 对于委托,例如在构造函数中,您会收到其他类的引用,然后在第二个类中调用一些预定义的API,因为委托可能会实现某种接口。
答案 1 :(得分:1)
服务门面通常是客户的入口点。它提供了粗粒度,用例驱动的API。服务门面启动交易,必要时从/向DTO转换,可以调用细粒度服务和DAO。
对于Web应用程序,还有Gateway模式(具有扩展持久性上下文的有状态EJB),在某些情况下可以使用它来代替Service Facade。 (JPA实体不会脱离。)
有关更多信息,请参阅Adam Bien撰写的“真实世界Java EE模式 - 重新思考最佳实践”一书:http://realworldpatterns.com/