外观模式(Facade Pattern)

来源:互联网 发布:ajax json环境搭建 编辑:程序博客网 时间:2024/05/16 09:59

 

提供一个统一的接口去访问多个子系统的多个不同的接口。外观模式定义了一个高层次的接口,使得子系统更容易被使用。
外形类(Façade):知道哪些子系统负责处理那些请求,将客户的请求传递给相应的子系统对象处理
子系统类(Subsystem):实现子系统的功能,处理Façade传过来的任务,子系统不用知道Façade,在任何地方也没有引用Facade。
范例:1.我们把顾客服务员当做是Façade,各独立的部门就是子系统。顾客服务员根据客户的要求去处理订货,收取付款,办理装运等。客户不需要亲自到各个部门办理,所有的工作都交给顾客服务员。
2.我们要设计一个冲茶系统,包括茶杯、水、茶包各类,我们创造一个Façade累来耦合各类以完成操作。
优势和缺陷:
         外观模式提供了一个简单且公用的接口去处理复杂的子系统,并且减少子系统的功能。它遮蔽了子系统的复杂性,避免了客户与子系统直接连接,它也减少了子系统与子系统间的连接,每个子系统都有它的Façade模式,每个子系统采用Façade模式去访问其他子系统。外观模式的优势就是限制了客户的自由,减少看可变性。
应用情景:
1.       你需要复杂的子系统提供一个简单的接口。
2.       客户与抽象的实现类存在若干依赖。
3.       子系统分层式必要的或架构要求的情况下。
原创粉丝点击