zoukankan      html  css  js  c++  java
  • js设计模式——8.中介者模式

    js设计模式——8.中介者模式

    /*js设计模式——中介者模式*/
    
    class A {
        constructor() {
            this.number = 0;
        }
    
        setNumber(num, m) {
            this.number = num;
            if (m) {
                m.setB();
            }
        }
    }
    
    class B {
        constructor() {
            this.number = 0;
        }
    
        setNumber(num, m) {
            this.number = num;
            if (m) {
                m.setA();
            }
        }
    }
    
    // 中介者
    class MediatorDome {
        constructor(a, b) {
            this.a = a;
            this.b = b;
        }
    
        setB() {
            let number = this.a.number;
            this.b.setNumber(number * 100);
        }
    
        setA() {
            let number = this.b.number;
            this.b.setNumber(number / 100);
        }
    }
    
    // 测试
    let a = new A();
    let b = new B();
    let m = new MediatorDome(a, b);
    a.setNumber(100, m);
    console.log(a.number, b.number);
    a.setNumber(100, m);
    console.log(a.number, b.number);
    

     

  • 相关阅读:
    border-radius
    border-style
    border-width
    border
    max-width
    min-width
    clip 语法
    left
    z-index
    position
  • 原文地址:https://www.cnblogs.com/hpx2020/p/10731112.html
Copyright © 2011-2022 走看看