7-JavaScript设计模式——桥接模式
来源:互联网 发布:网络搬砖项目 编辑:程序博客网 时间:2024/05/20 20:22
桥接模式 有以下三种使用场景:
1、事件监听回调机制的分离
2、特权函数(在作用域外部访问其内部私有成员变量的函数)
3、实现独立化单元
1、事件监听回调机制的分离
<button id="btn">按钮</button>
// 获得按钮对象var oBtn = document.getElementById('btn');// 正常情况下我们是这样为元素添加事件的oBtn.addEventListener('click', function(){ alert(this.innerHTML + ': 我被点击了'); // 如果我们如何对回调函数进行单元测试呢?});
// 使用 桥接模式 将回调函数分离出来oBtn.addEventListener('click', bridge);// 桥接函数function bridge(){ var target = this.innerHTML; clickEvent(target);}// 下面这个函数实现了 解耦function clickEvent(target){ alert(target + ': 我被点击了');}
2、特权函数(在作用域外部访问其内部私有成员变量的函数)
// 特权函数var PublicClass = function(){ var name = '张三'; // 访问私有成员变量 this.getName = function(){ return name; };};var p1 = new PublicClass();alert(p1.getName());// 张三
// 特权函数var PublicClass = function(){ // 私有成员方法 var privateMethod = function(){ alert('执行了一个很复杂的操作...'); }; // 通过特权函数去访问这个私有的独立单元 this.bridgeMethod = function(){ return privateMethod(); };};var p1 = new PublicClass();p1.bridgeMethod();// 执行了一个很复杂的操作...
3、实现独立化单元
// 独立化单元var Class1 = function(a, b, c){ this.a = a; this.b = b; this.c = c;};var Class2 = function(d, e){ this.d = d; this.e = e;};// 用桥把多个单体组织到一起var bridgeClass = function(a, b, c, d, e){ this.class1 = new Class1(a, b, c); this.class2 = new Class2(d, e);};
阅读全文
1 0
- 7-JavaScript设计模式——桥接模式
- javascript设计模式 桥接模式
- javascript:设计模式之桥接模式
- JavaScript设计模式--桥接模式
- javascript设计模式——工厂模式
- JavaScript设计模式——策略模式
- javascript桥接设计模式
- Javascript 设计模式——1.6 JavaScript中的设计模式
- 6. JavaScript 设计模式(策略模式,桥接模式)
- 6. JavaScript 设计模式(策略模式,桥接模式)
- 设计模式——桥接模式
- 设计模式——桥接模式
- 设计模式——桥接模式
- 设计模式——桥接模式
- 设计模式——桥接模式
- 设计模式——桥接模式
- 设计模式——桥接模式
- 设计模式——桥接模式
- 巧用html的hidden全局属性传递表单隐藏参数
- linux 常用命令集锦
- java Class.getResource和ClassLoader.getResource
- 为什么在java中要把main方法定义为静态方法
- iconfont矢量图库的使用方法
- 7-JavaScript设计模式——桥接模式
- 闪回技术概念+闪回技术的形式
- Perl 入门 之 基础类型
- PHP jQuery+Ajax结合写批量删除功能
- mongodb,redis,mysql 简要对比
- centos防火墙设置
- 解读thchs30/s5/run.sh的主要步骤
- app开发过程中有关耗电注意事项
- 扩展欧几里得算法