网站大量收购闲置独家精品文档,联系QQ:2885784924

20060719am--C#面向对象设计模式纵横谈(19):(行为型模式) Observer 观察者模式.pdf

20060719am--C#面向对象设计模式纵横谈(19):(行为型模式) Observer 观察者模式.pdf

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
20060719am--C#面向对象设计模式纵横谈(19):(行为型模式) Observer 观察者模式

C#面向对象设计模式纵横谈 19. Observer 观察者(行为型模式) 李建忠 jianzhong.lee@ 设计模式论坛: 上海祝成科技高级培训讲师 发布-订阅模型 动机(Motivation) 在软件构建过程中,我们需要为某些对象建立一种 “通知依赖关系” ——一个对象(目标对象)的状态 发生改变,所有的依赖对象(观察者对象)都将得 到通知。如果这样的依赖关系过于紧密,将使软件 不能很好地抵御变化。 使用面向对象技术,可以将这种依赖关系弱化,并 形成一种稳定的依赖关系。从而实现软件体系结构 的松耦合。 意图(Intent) 定义对象间的一种一对多的依赖关系,以便当一个对 象的状态发生改变时,所有依赖于它的对象都得到通 知并自动更新 —— 《设计模式》GoF 例说Observer应用 Codes in VS.NET 结构(Structure ) .NET 框架中的Observer Events in C# Observer模式的几个要点 • 使用面向对象的抽象,Observer模式使得我们可 以独立地改变目标与观察者,从而使二者之间的 依赖关系达致松耦合。 • 目标发送通知时,无需指定观察者,通知(可以 携带通知信息作为参数)会自动传播。观察者自 己决定是否需要订阅通知,目标对象对此一无所 知。 • 在C#的event中,委托充当了抽象的Observer接 口,而提供事件的对象充当了目标对象。委托是 比抽象Observer接口更为松耦合的设计。 推荐资源 • 《设计模式:可复用面向对象软件的基础》GoF • 《面向对象分析与设计》Grady Booch • 《敏捷软件开发:原则、模式与实践》Robert C. Martin • 《重构:改善既有代码的设计》Martin Fowler • 《Refactoring to Patterns》Joshua Kerievsky 获取更多MSDN资源 • MSDN中文网站 /china/msdn • MSDN中文网络广播 • MSDN Flash /china/newsletter/case/ msdn.aspx • MSDN开发中心 /china/msdn/Developer Center/default.mspx Question Answer 如需提出问题,请单击“提问”按钮并在 随后显示的浮动面板中输入问题内容。一 旦完成问题输入后,请单击“提问”按钮。

文档评论(0)

l215322 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档