干货:谈一谈观察者模式

观察者模式,可以从名字理解这种模式。
一个主体盯着另一个主体,一旦发生XXX,就XXX。
这样的场景无论在代码中还是在生活中都很常见。

要实现这样的功能,按照直接的思路就是观察者写个while去被观察者那检查关注的指标。
这种做法在软件开发和设计中也很常见,当完全无法改变客体的时候,只能通过这种方式来做。

当目标可以配合的时候,观察者模式就登场了,
观察者模式:将观察者,在目标那注册登记,当状况发生,通知观察者操作。

观察者模式是逻辑上的概念,在代码上只是个接口实现,对象添加,方法调用的过程。

观察者模式在软件设计中用的非常普遍,也有很多变化:如,发布订阅模式,事件总线模式,响应式设计,事件驱动等等。观察者模式可以应用的很小,也可以作为整个系统级别的架构。

这些变型通常只是在观察者与被观察者之间增加了一些中间层,来统一管理观察者的注册,和被观察者的事件发布。

观察者模式有点像IOC,IOC有一个名字叫控制反转,观察者通过将主动权上交给被观察者来降低系统消耗,实现一样的功能。这样的思路是很值得学习的。

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值