js外观模式

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

外观模式不仅简化类中的接口,而且对接口与调用者也进行了解耦。外观模式经常被认为开发者必备,它可以将一些复杂操作封装起来,并创建一个简单的接口用于调用。

var fuhao={

};
fuhao.huofang=function(){
return ‘馒头‘;
}
fuhao.chuliliangshi=function(){
return ‘面粉‘;
}
fuhao.mantou=function(){
this.chuliliangshi();
this.huofang();
}
fuhao.men={
return this.mantou();
}

作用:

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

注意事项:
1.外观模式被开发者连续使用时会产生一定的性能问题,因为在每次调用时都要检测功能的可用性。

var stopEvent=function(e){
//同时阻止事件默认行为和冒泡
e.stopPropagation();
e.preventDefault();
}
//stopEvent本身就是产门面
$("#a").click(function(){
stopEvent(e);
})

时间: 2024-12-16 19:35:16

js外观模式的相关文章

JS常用的设计模式(7)—— 外观模式

外观模式(门面模式),是一种相对简单而又无处不在的模式.外观模式提供一个高层接口,这个接口使得客户端或子系统更加方便调用.用一段再简单不过的代码来表示 var getName = function(){ return ''svenzeng" } var getSex = function(){ return 'man' } 如果你需要分别调用getName和getSex函数. 那可以用一个更高层的接口getUserInfo来调用. var getUserInfo = function(){ va

javascript设计模式-外观模式

也可译为门面模式.它为子系统中的一组接口提供一个一致的界面, Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用.引入外观角色之后,使用者只需要直接与外观角色交互,使用者与子系统之间的复杂关系由外观角色来实现,从而降低了系统的耦合度. 比如在家要看电影,需要打开音响,再打开投影仪,再打开播放器等等,引入外观角色之后,只需要调用“打开电影设备”方法就可以.外观角色封装了打开投影仪等操作,给使用者提供更容易使用的方法. 作用: 简化复杂接口 解耦和,屏蔽使用者对子系统的直接访问

11.外观模式

外观模式:为一组复杂的子系统接口提供一个更高级的统一接口,通过这个接口使得系统接口的访问更容易.在javascript中有时也会用于对底层结构兼容性做统一封装来简化用户使用. 11.1添加一个点击事件 1 document.onclick = function(e){ 2 e.preventDefault(); 3 if(e.target !== document.getElementById('myinput')){ 4 hidePage(); 5 } 6 } 7 8 function hid

2 结构型模式之 - 外观模式

外观模式的介绍:外观模式在开发运用中的频率非常高,尤其是现阶段各种第三方SDK充斥在我们的周边,而这些SDK很大概率会使用外观模式,通过一个外观类使得整个系统的接口只有一个统一的高层接口,这样就能够降低用户使用的复杂度,也对用户屏蔽了很多实现细节,当然 ,在我们的开发过程中,外观模式也是我们封装API的常用手段,例如网络模块,ImageLoader模块等.可能你已经在开发中运用过无数次外观模式,只是没有理论层面上认识它,本章我们就从理论与实践相结合的方式来理解外观模式 外观模式的定义: 要求一个

设计模式(九):外观模式

一.概述 外观模式提供了一个统一的接口,用来访问子系统中的一群接口.外观定义了一个高层接口,让子系统更容易使用. 二.解决问题 在上一讲中,我们学习了适配器模式,它是用来转换一个接口的,而外观模式可以理解为转换一群接口,客户只要调用一个接口,而不用调用多个接口就可以达到目的.想想现实生活中例子,我们在pc上安装软件的时候经常有默认安装或者是一键安装选项(省去选择安装目录.安装的组件等等),还有就是手机的重启功能(把关机和启动合为一个操作).总之,外观模式就是解决多个复杂接口带来的使用困难,起到简

java/android 设计模式学习笔记(14)---外观模式

这篇博客来介绍外观模式(Facade Pattern),外观模式也称为门面模式,它在开发过程中运用频率非常高,尤其是第三方 SDK 基本很大概率都会使用外观模式.通过一个外观类使得整个子系统只有一个统一的高层的接口,这样能够降低用户的使用成本,也对用户屏蔽了很多实现细节.当然,在我们的开发过程中,外观模式也是我们封装 API 的常用手段,例如网络模块.ImageLoader 模块等.其实我们在开发过程中可能已经使用过很多次外观模式,只是没有从理论层面去了解它. 转载请注明出处:http://bl

设计模式(八):外观模式

这个模式是我觉得最好懂的模式. 外观(Facade)模式 定义: 外观模式是一种结构型模式.它为更大的代码体提供了一个方便的高层次接口,能够隐藏其底层的真实复杂性.简单说就是——小接口有大智慧. 例子: 使用jQuery的$(el).css()或$(el).animate()方法时,实际上我们是在使用Facade:一种更简单的公有接口,使我们不必手动在jQuery核心调用很多内部方法以便实现某些行为. 优点: 1. 易于使用. 2. 实现该模式时占用空间小. 3. 调用者与底层代码解耦. 缺点:

外观模式

1.定义 外观模式(Facade-Pattern):提供了一个统一的接口,用来访问子系统中的一群接口外观定义了一个高层接口,让子系统更容易使用. 2.示例:家庭影院 3.外观模式特点 要使用外观模式,需创建一个接口简化并且统一的类,用来包装系统中一个或多个复杂的类.它也是一个改变接口的类(装饰模式,适配器模式),只不过它改变接口的原因是为了简化接口,将一个或数个类的复杂的一切隐藏在背后,只显露出一个干净美好的外观. 外观模式通过实现一个提供更合理的接口的外观类,将一个复杂的子系统变得容易使用.如

java演示facade(外观)模式

实际应用中,原来的代码涉及多个子系统时,重新进行类的设计,将原来分散在源码中的类结构及方法重新组合,形成新的.统一的接口,供上层应用使用. Facade所面对的往往是多个类或其它程序单元,通过重新组合各类及程序单元,对外提供统一的接口/界面. 在遇到以下情况使用Facade模式: 1.当你要为一个复杂子系统提供一个简单接口时.子系统往往因为不断演化而变得越来越复杂.大多数模式使用时都会产生更多更小的类.这使得子系 统更具可重用性,也更容易对子系统进行定制,但这也给那些不需要定制子系统的用户带来一