软件设计模式(13种设计模式详解及举例).docxVIP

  • 311
  • 0
  • 约 60页
  • 2017-06-01 发布于河南
  • 举报

软件设计模式(13种设计模式详解及举例).docx

软件设计模式(13种设计模式详解及举例)

观察者模式定义这一模式中的关键对象是目标(subject)和观察者(observer)。一个目标可以有任意数目的依赖它的观察者。一旦目标的状态发生改变, 所有的观察者都得到通知。作为对这个通知的响应,每个观察者都将查询目标以使其状态与目标的状态同步。简单的说,定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时, 所有依赖于它的对象都得到通知并被自动更新。模式实例在Excel中,有一个表格对象和一个柱状图对象和一个饼状图对象,可使用不同的表示形式描述同一个应用数据对象的信息。表格对象和柱状图对象互相并不知道对方的存在。当用户改变表格中的信息时,柱状图能立即反映这一变化, 反过来也是如此。这一行为意味着表格对象和棒状图对象都依赖于数据对象, 因此数据对象的任何状态改变都应立即通知它们。同时也没有理由将依赖于该数据对象的对象的数目限定为两个,对相同的数据可以有任意数目的不同用户界面。Observer模式描述了如何建立这种关系。这一模式中的关键对象是目标(subject)和观察者(Observer)。一个目标可以有任意数目的依赖它的观察者。一旦目标的状态发生改变, 所有的观察者都得到通知。作为对这个通知的响应,每个观察者都将查询目标以使其状态与目标的状态同步。这种交互也称为发布-订阅(publish-subscribe)。目标是通知的发布者。它发出通知时并不需知道谁是它的观察者。

文档评论(0)

1亿VIP精品文档

相关文档