橋接模式 1.在系統沿著多個維度變化的同時,又不增加其複雜度並以達到解耦 2.最主要特點:將實現層(如元素綁定的事件)與抽象層(如修飾頁面UI邏輯)解耦分離,使兩部分獨立變化 3.避免需求的改變造成對象內部的修改,體現了面向對象對拓展的開發及修改的關閉原則 demo實例:創建一個對象橋接method ...
橋接模式
1.在系統沿著多個維度變化的同時,又不增加其複雜度並以達到解耦
2.最主要特點:將實現層(如元素綁定的事件)與抽象層(如修飾頁面UI邏輯)解耦分離,使兩部分獨立變化
3.避免需求的改變造成對象內部的修改,體現了面向對象對拓展的開發及修改的關閉原則
demo實例:創建一個對象橋接method,實現為對象拓展方法的功能
提取共同點(抽象層)
1 Object.prototype.addMethod = function(name,fn){ 2 this[name] = fn; 3 }
創建類並實例化對象(實現層)
1 function Box(x,y,z){ 2 this.x=x; 3 this.y=y; 4 this.z=z; 5 } 6 7 var box=new Box(20,10,10);
為對象拓展方法(橋接方法)
1 box.addMethod("init",function(){ 2 console.log("盒子的長度為:"+this.x+" , 寬度為:"+this.y+" , 高度為:"+this.z); 3 }); 4 box.addMethod("getWidth",function(){ 5 console.log(this.y); 6 });
測試代碼
1 box.init(); 2 box.getWidth();
控制台顯示