facade

来源:互联网 发布:中国中小企业数据 编辑:程序博客网 时间:2024/05/18 01:41
适用场景
需要为一个复杂的子系统提供一个简单的接口。
在客户端和实现类的凑向之间有很多依赖关系。
使子系统层次化。
结构

参与对象
Facade
  • 了解子系统的工作原理
  • 把客户的请求代理给子系统
子系统类
  • 实现子系统的功能
  • 处理发送给Facade对象的请求
  • 对facade是不了解的,也即是,他们不能引用facade对象
协同方式
客户端通过将请求发送给facade来和子系统进行交互,facade对象再将请求发送给合适的子系统的类进行处理。虽然子系统是最终处理请求的类,但是facade需要做一些必须的转换和翻译。
客户端必须访问facade而不是直接访问子系统的对象。
使用结果
它将客户和子系统组件进行了隔离。因此减少了客户端需要处理的对象的个数,使子系统更加容易使用。
使得子系统和客户端之间保持了弱耦合。
它不阻碍客户端在需要时直接使用子系统的类。因此,在易用性和通用性之间可以随意选择。
0 0
原创粉丝点击