最简单的观察者模式

class Subscript{

    constructor(name){

        this.name = name;

        this.state = '心情好';

        this.array = [];

    }

    setState(state){

        this.state = state;

        this.array.forEach((item)=>{

            item.update(state)

        })


    }

    attach(o){

        this.array.push(o);


    }

}

class Observe{

    constructor(name){

        this.name = name;

    }

    update(state){

        console.log(this.name+'知道小宝宝'+state)

    }

}

let s = new Subscript('我是宝宝');

let o1 = new Observe('爸爸');

let o2 = new Observe('妈妈');

s.attach(o1);

s.attach(o2);

s.setState('心情不好了')

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容