zoukankan      html  css  js  c++  java
  • javascript-桥接模式

    桥接模式
     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();

    控制台显示

  • 相关阅读:
    NOIP2016 愤怒的小鸟
    LCIS code force 10D
    UVA 1398
    uva1382 Distant Galaxy
    洛谷-3930(我在洛谷上也写了题解)
    HDU-1505 City Game
    导弹拦截n logn的算法(单调性)洛谷1020
    POJ 1182 食物链
    POJ
    1202. 交换字符串中的元素
  • 原文地址:https://www.cnblogs.com/jtnote/p/5993250.html
Copyright © 2011-2022 走看看