设计模式、用Delphi描述-->Observer模式

Observer 模式

起源

Delphi中的Observer模式在基本Observer模式进行了扩展。更多Observer模式的资料请参 [Gam+, pages 293..303]

目的

定义一个对象间的一种一对多的依赖关系,当一个对象状态发生变化时,所有依赖于它的对象者得到通知并自动更新

动机

将一个系统分割成一系列相互协作的类有一定的副作用:必须给护相关对象间的一致性。我们不希望为了维扩一致性而使各类紧密耦合,因为这样降低了它们的重用性。[Gam+, p293].

Delphi的事件(实际的方法地址)让你有一个处理这些问题的好的结构,事件让你消除耦合并更好的耦合,比如:事件TButton.OnClick被分派去完成相关的工作。但类并不保存对事件句柄的引用。在observer模式中分派事件的类称为目标对象(subject),而控制事件的类称为观察者(observer

所在Delphi的事件更好的消除类的耦合如果你想对多个事件进行控制引用observer模式,你可以进立一对多的通知机制。一个目标可以有任意多个观察者。所有的观察者都会目标的状态改变时接受通知。观察者接到通知后,立即查询目标对象,以保持与目对象的同步。

这种交互也称为发布—订阅,目标是通知的发布者。它发现通知时并不需要知道谁是它的观察者。可以有任意数目观察者订阅并接收通知。

应用

这个observer

阅读终点,创作起航,您可以撰写心得或摘录文章要点写篇博文。去创作
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

programlover

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值