您当前的位置: 首页 >  Java

暂无认证

  • 4浏览

    0关注

    92582博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

观察者模式7(javascript版)兄弟们,好了,重新写好了

发布时间:2020-04-22 19:03:25 ,浏览量:4

//店家 /*class Subject {//店家,,
    constructor() {
        this.state = 0//店家还没有收到订单
        this.observers = []所以为空数组
    }
    
    attach(observer) {//收到订单,放进数组里,
        this.observers.push(observer)
         this.notifyAllObservers()
    }
    notifyAllObservers() {//做好了,接下来是告诉顾客
        this.observers.forEach(observer => {
            observer.update()
        })
    }
}

//顾客
class Observer {//我,当然是我看到你开门才买东西的是,所以观察者是,你开门我才能买东西的是吧
    constructor(name, subject) {//这里是
        this.name = name//我给钱给店家了
        this.subject = subject//叫某一个商家
        this.subject.attach(this)//店家说好嘛是开始做
    }
    update() {
        console.log(`${this.name} update`)
    }//店家给顾客东西,知道了,顾客知道了
}

// 测试代码
let s = new Subject()//店家
let o1 = new Observer('热狗', s)//我想要叫店家要热狗
let o2 = new Observer('汉堡', s)//我想要汉堡包哈哈哈
*/ 

核心例如你在星巴克点了咖啡,此时你并不需要在吧台坐等,你只需要回到位子上玩手机,等咖啡好了服务员会叫你。不光叫你,其他人的咖啡好了,服务员也会叫他们来取。

反正就是核心就是你一对多的关系,比如就是一个商家对应很多的客人哈

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述记住,核心知识点,一对多是店家对顾客,我是店家我观察着你是否要购买我的物品,观察者:店家,被观察者:顾客,

关注
打赏
1653961664
查看更多评论
立即登录/注册

微信扫码登录

0.1004s