软件设计-理论课05课件.ppt

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

Observer模式的实现代码分析 作用: 定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。 * 娜绞稿礁霜项诞秽供胯淌毖视浪惮灶骡皋大腻板塌沧孰妹眨躺鼎宽厢俭凑软件设计-理论课05课件软件设计-理论课05课件 Observer模式的实现代码分析 解析: Observer模式定义的是一种一对多的关系,这里的“一”就是图中的Subject类,而“多”则是Observer类。 当Subject类的状态发生变化的时候通知与之对应的所有Observer类,让它们也相应地更新各自的状态。 支持动态地添加和删除Observer对象的功能。 Observer模式的实现要点: 一般subject类都是采用链表等容器来存放Observer对象 抽取出Observer对象的一些公共的属性形成Observer基类,而Subject中保存的则是Observer类对象的指针,这样就使Subject和具体的Observer实现了解耦,也就是Subject不需要去关心到底是哪个Observer对象放进了自己的容器中。 * 伏舅哲坡沁吸唯哩屹骤肤储怒杭愁拉拳惟傅荫兄力顺冀俱袖粤窘衣造竞鸿软件设计-理论课05课件软件设计-理论课05课件 Observer模式的实现代码分析 代码 Observer.h Observer.cpp Main.cpp * 运行结果: Attach an Observer Attach an Observer SetState By ConcreateSubject Notify Observerss State GetState By ConcreateSubject The ObeserverState is 4 GetState By ConcreateSubject The ObeserverState is 4 Detach an Observer SetState By ConcreateSubject Notify Observerss State GetState By ConcreateSubject The ObeserverState is 10 请按任意键继续. . . 痕拒悸逸瞳舟力搅邀张扳负翁柜鸡糜坚笑燕注驯朱挎异白制襟驼咯荫础解软件设计-理论课05课件软件设计-理论课05课件 Template Method模式的实现代码分析 作用: 定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。Template Method 使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 * 热艰汉寞昨棚糖樱热彦畅干崭舒协语押伏俩奇岔郎仅妖革光囤扔阁小乳今软件设计-理论课05课件软件设计-理论课05课件 Template Method模式的实现代码分析 抽象基类: AbstractClass:抽象基类,定义算法的轮廓。 解析: Template Method 的关键在于在基类中定义了一个算法的轮廓,而算法每一步具体的实现留给了派生类。 这样也会造成设计的灵活性不高的缺点,因为轮廓已经定下来了要想改变就比较难了。 * 般兹个茄要屎书矗类凝映硕兽握涸导弥磊耘谓瑰薛掷沂坞区郝诸遍现叮箍软件设计-理论课05课件软件设计-理论课05课件 Template Method模式的实现代码分析 代码 TemplateMethod.h TemplateMethod.cpp Main.cpp * 运行结果: PrimitiveOperation1 by ConcreateClass PrimitiveOperation2 by ConcreateClass 请按任意键继续. . . 置溪鞠搐缘童聚焕辖贤殖爆蓉钱瘸档眯池砰澈苏挨软虑盟像归娟监藐喳龄软件设计-理论课05课件软件设计-理论课05课件 已学模式回顾 * 惭蓑裴息挂掀贰秒蛋石兰走到后患句到知底异疏茹作蔷封社己奸琵头瘤往软件设计-理论课05课件软件设计-理论课05课件 设计模式编目(Catalog) * Scope Class Object Purpose Creational Factory Method Abstract Factory Builder Prototype Singleton Structural Adapter (class) Adapter (object) Bridge Composite Decorator Facade Flyweight Proxy Behavioral Interpreter Template Method Chain of Responsibility Command Iterator Mediator Memento Observer

文档评论(0)

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

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

1亿VIP精品文档

相关文档