标签:
外观模式:
隐藏底部的真是复杂性,为其提供一个方便的高层次接口,以提高可用性;
直接和Facade交互,而不是与幕后子系统交互;
属于结构型模式。
优点:
简化类的接口,使其易于使用;
能够通过接口间接与子系统交互;
不易犯错;
实现该模式时占用空间小;
解耦解耦解耦。
缺点:
连续使用时会产生性能问题;
性能问题带了的挑战是:为了提供一种能够接受和解析多个类型的优雅函数,其抽象会存在隐性成本。
应用场景:
设计初期,有意识的将不同的两层分离,在其之间建立外观Facade,如经典的三层结构中,数据访问层与业务逻辑层之间,业务逻辑层与表示层之间;
开发阶段,子系统不断的重构而变得越发复杂,增加外观Facade可以提供一个简单的接口,减少他们之间的依赖;
维护一个遗留的大型系统,为设计粗糙高度复杂的遗留代码提供清晰的接口,让新系统和Facade对象交互,Facade与遗留代码交互所有复杂的工作。--参考《大话设计模式》
代码例子:
未经优化的跨浏览器的检查特征的例子:
一句话总结:
只要一按开关,灯就亮了,不知道里面怎么插线的。
标签:
原文地址:http://my.oschina.net/Karon/blog/499130