您的位置:首页 > 其它

facade pattern--门面模式或外观模式

2014-03-27 11:09 253 查看
医院的接待员负责代为挂号、划价、缴费、取药等,商场的导购员 帮助你更方便的购物、结账。和这两个角色的功能类似,facade pattern 门面模式就是为了给一个复杂的系统提供更简单、容易的使用接口,简称门面,外部对象可以轻松地使用该门面与复杂系统进行交互。

门面模式要求一个子系统的外部与其内部的通信必须通过一个统一的门面(Facade)对象进行。门面模式提供一个高层次的接口,使得子系统更易于使用。

就如同医院的接待员一样,门面模式的门面类将客户端与子系统的内部复杂性分隔开,使得客户端只需要与门面对象打交道,而不需要与子系统内部的很多对象打交道。

其实我们自己也常用到或看到门面模式。在android系统中门面模式不要太多。我们通常会给一个模块子系统提供一个XXXManager类,用于统一访问该模块。这就是门面模式的应用。我个人觉得android中AudioManager、WifiManager等都算是门面模式,他们封装了android系统的audio、wifi子系统的复杂操作。

门面模式通常会与单例模式结合使用,将门面模式作为子系统的唯一访问接口,用以隐藏或者封装子系统。通过强制所有系统的访问都必须经过facade,可以很容易地监控系统的使用情况;也可以在将来很容易的切换子系统,减少工作量;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: