设计模式之观察者模式

观察者模式

事件处理模型,对于事件处理模型,一般使用观察者和责任链模式。

定义:观察者模式是一种行为设计模式, 允许你定义一种订阅机制, 可在对象事件发生时通知多个 “观察” 该对象的其他对象。

观察者模式角色
  • 发布者:向其他角色发送值得关注的事件。事件会在发布者自身状态或执行特定行为后发生。
  • 订阅者:接口声明了通知接口。在绝大多数情况下,该接口只包含一个update方法。该方法可以拥有多个参数,使发布者能在更新时传递事件的详细信息。
  • 具体订阅者:可以执行一些操作来回应发布者的通知,所有具体订阅者都实现了同样的接口,因此发布者不需要与具体类相耦合。
  • 客户端:会分别创建发布者和的订阅者对象,然后为订阅者注册发布和更新。

在这里插入图片描述

适用场景
  • 当一个对象状态的改变需要改变其他对象, 或实际对象是事先未知的或动态变化的时,可使用观察者模式。
  • 当应用中的一些对象必须观察其他对象时,在有限时间内或特定情况下使用该模式。

订阅列表是动态的, 因此订阅者可随时加入或离开该列表。

talk is cheap,show me your code.

观察者模式demo

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值