javascript-桥接模式

时间:2023-03-09 13:37:21
javascript-桥接模式

桥接模式
 1.在系统沿着多个维度变化的同时,又不增加其复杂度并以达到解耦
 2.最主要特点:将实现层(如元素绑定的事件)与抽象层(如修饰页面UI逻辑)解耦分离,使两部分独立变化
 3.避免需求的改变造成对象内部的修改,体现了面向对象对拓展的开发及修改的关闭原则
 demo实例:创建一个对象桥接method,实现为对象拓展方法的功能

提取共同点(抽象层)

         Object.prototype.addMethod = function(name,fn){
this[name] = fn;
}

创建类并实例化对象(实现层)

         function Box(x,y,z){
this.x=x;
this.y=y;
this.z=z;
} var box=new Box(20,10,10);

为对象拓展方法(桥接方法)

         box.addMethod("init",function(){
console.log("盒子的长度为:"+this.x+" , 宽度为:"+this.y+" , 高度为:"+this.z);
});
box.addMethod("getWidth",function(){
console.log(this.y);
});

测试代码

         box.init();
box.getWidth();

控制台显示

javascript-桥接模式