设计模式之外观模式

外观模式

外观模式(Facade),为子系统中的一组接口提供一个一致的界面,定义一个高层接口,这个接口使得这一子系统更加容易使用。

模式作用:

  1. 在设计初期,应该有意识地将不同的两个层分离,比如经典的三层结构
  2. 在开发阶段,子系统往往因为不断的重构演化而变得越来越复杂,增加外观模式可以提供一个简单的接口,减少他们之间的依赖
  3. 在维护一个遗留的大型系统时,为系统开发一个外观Facade类,为设计粗糙和高度复杂的遗留代码一共比较清晰的接口,让新系统和Facade类对象交互

注意事项:

  1. 外观模式被开发者连续使用时会产生一定的性能问题,因为每次调用时都要检测功能的可用性(PS:可用函数的惰性加载来解决)

例子:

function stopEvent(e) {
    // 同时阻止事件默认行为和时间冒泡
    e.stopPropagation()
    e.preventDefault()
}
// stopEvent本身就是外观
$('#btn').click(function(e){
    stopEvent(e)
})
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 外观模式(facade) 系统会随着演化变得非常复杂,最终形成大量的(并且有时是令人迷惑的)类和交互,这种情况并不...
    英武阅读 4,729评论 0 51
  • 外观模式 定义 为子系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层接口,这个接口使得这一子系统...
    PeterHe888阅读 1,387评论 0 0
  • 一个栗子:身为一个程序猿,连续加班25天,在打了25个喷嚏之后,你终于意识到自己感冒了,为了能够省下钱买阿珂288...
    NekoJiang阅读 3,783评论 0 2
  • 作为一个看科幻迷特别喜欢看好莱坞科幻题材的大片 ,这些题材的电影描述过很多未来的世界,其中最喜欢的影星威尔.史密...
    自律就是自由阅读 2,854评论 0 1
  • 华蓥市民好悠闲, 春暖花开背山泉。 酒桶油桶净水桶, 车载肩背往家盘。 其实家中不缺水, 都是山中空气鲜。 泉水叮...
    谭文春阅读 3,068评论 5 1

友情链接更多精彩内容