观察者模式

所谓的观察者模式 就是被观察的哪一方的属性有了一定的变更 则观察方会有一定的反应
是不是很熟悉 很像发布订阅 没错 它就是发布订阅模式
设计模式这本书上明确的写了 他的别名就是发布订阅模式 我们说回正事情
如果我们想要实现这个模式应该怎么办喃
首先 我们需要接口 因为如果想要相互之间的通知 那么必须要有固定的方法来调用实现 通知功能
可能还是优点懵 我们看代码
在这里插入图片描述
在这里插入图片描述
这是我们的一个接口 大家想 如果我一个发布者如果想要我的信息修改以后 将修改的的信息同步到接收者应该怎么办 ? 办法就是接受者有一个固定的接口是实现修改信息的方法 我们只需要调用它的方法就行了 所以接口才有存在的必要
接下来展示 代码 这里我设计的是一个微信公众号 和订阅者之间的
在这里插入图片描述
在这里的代码中我们可以通过newMessage方法明显的看出 当发布者的消息更新的时候 调用了notifyObservers方法取调用订阅者接口中的update方法 这就是接口的作用 如果我们没有这个接口 那么更本不知道如何去通知订阅者
在这里插入图片描述下面我们也可以看出 当订阅者通过addSubject方法来订阅一个公众号的时候 调用了Subject中的addObserver方法来将自生这个订阅这放入公众号的订阅者列表里面 以方便下次通知你

接下来 我们看看主方法和结果
在这里插入图片描述
在这里插入图片描述
这里我们可以看出 公众号更新信息的时候将消息传给了订阅者 订阅者收到消息并打印

其实 从本质上来说 观察者模式 就是提供了两个接口 一个是观察者(Observer) 一个是被观察者(Subject)
他们的实现子类 可以通过接口提供的方法 来实现子类间的类似回调的一种作用。一方的改变影响另一方

并没有我们想象的那么困难。加油吧 代码人!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值