外观设计模式和业务委托设计模式有什么区别?
它们不是都用于向客户端隐藏业务逻辑吗?
委托位于客户端和实际实现之间,通常对客户端隐藏/过滤/增强实现的某些功能。
Facade 提供了一个粗粒度的 API,隐藏了更复杂的逻辑和/或协调,通常捆绑多个协同工作的实现,通常是为了方便客户端。
来自 java 的每个示例:
代表团:Collections.unmodifiableList()
返回一个 List,该 List 保留对原始 List 的引用并委托给它所有方法,但如果调用其变异器方法,则会抛出异常。
Facade:如果您曾经见过需要编写大量可笑的代码打印 java DOM XML 文档 https://stackoverflow.com/questions/139076/how-to-pretty-print-xml-from-java,您要做的第一件事就是创建一个实用方法来隐藏所有丑陋之处 - 该方法可以被视为外观。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)