Facade Design Pattern:转换客户端请求

时间:2015-06-23 13:37:59

标签: design-patterns architecture facade

考虑以下设计,我怀疑我是否以正确的方式实现了function doUpdate() { var btn = document.getElementById("<%#= btnUpdate.ClientID %>"); if(btn != null) { btn.click(); } } 设计模式。我担心的是我操纵了来自客户的简单请求;而不是天真地将请求委托给封装类型:Facade。好吗?它实际上不是ComplexWorker设计模式吗?

Wrapper

1 个答案:

答案 0 :(得分:2)

是的,您已经实现了Façade模式。

使用您的Façade的人可以享受不一定熟悉子系统的好处(在您的示例中为ComplexRequest和ComplexWorker)。这意味着您为客户端提供了一个高级统一的界面。这就是外墙的意义所在。这样做是为了利用信息隐藏原则。

Wrapper模式,或者更常见的是Adapter pattern,解决了另一个问题。它可以帮助您使不兼容的接口协同工作。它通常有助于使旧组件的阻抗匹配适应新系统。