观察者模式

观察者模式

观察者模式有两个典型模式。推模式和拉模式。
推模式比较简单,只要观察者注册,只要主题改变,不管观察者是否需要,也不管观察者是否全部需要,一股脑都会推送给观察者。
而拉模式用于解决这个问题,他是通知观察者自身主题有改变,而具体需要什么东西,由观察者自身拉取。

体现在代码上,观察者的update函数有差异,推模式传递的是主题即观察者所事物。而拉模式中,这个传递的是主题类的对象引用,有了它,可以定制拉取什么主题。

值得一提的是,在主题抽象类中,可以定义一个检查变化度的函数,当主题变化达到一个度时,才进行推送,而非一变化就推送。

    例如温度的变化,可以设定一个阈值,大于1°,大于2°,可以调节,而非从1变化到1.1也要进行推送。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值