设计模式之 观察者模式

前传

对象间相互调用,易出现耦合性太强的问题。这不利于变化。

这时,一个幽灵出现了,这就是观察者模式。它的生命的意义就是:打破对象间强耦合。

这就是小品中的:有事你说话。变成了,有事我说话。

实现:

实现方式很简单: 你注册,有事我通知。

观察者模式 很简单的。一个侦察员 + (伤员,士兵,百姓)

侦察员发现 鬼子来了 ,他通知 (伤员,士兵,百姓)

百姓的反映:我跑呀。。。

士兵的反应:我得掩护他们

伤员的反应:我自杀吧


这里存在一个问题:我该通知谁? 侦察员想,你不到我这里交点好处费登记),我是不会告诉你的。

   侦察员突然想起来,张三你去年打我一顿了,即使你交了好处费(登记),鬼子来,我也不告诉你(除名)。


 qt 的信号和槽就是典型的观察者模式。


所以,观察者 类似 发报员+一群收报者。

observer 将对象的状态变化通知其他对象

备注:

 回调函数,玩的是函数指针。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值