门面和业务代表模式之间的区别

时间:2011-09-02 10:26:19

标签: design-patterns java-ee

外观和业务代表设计模式之间有什么区别。是不是都用于从客户端隐藏业务逻辑?

1 个答案:

答案 0 :(得分:7)

代表团站在客户端和实际实现之间,通常从客户端隐藏/过滤/扩充实现的某些功能。

Facade提供了一个包含更复杂逻辑和/或协调的课程粒度API,通常捆绑了多个协同工作的实现,通常是为了方便客户端。

每个来自java的例子:

委托:Collections.unmodifiableList()返回一个List,该List保留对原始List的引用并为所有方法委托给它,但如果调用其mutator方法则抛出异常。

Facade:如果您曾见过print a java DOM XML document所需的大量代码,那么您要做的第一件事就是创建一个实用工具方法来隐藏所有丑陋 - 该方法可以被视为一个外观。