第19章 过关类游戏:备忘录模式.ppt

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第19章 过关类游戏:备忘录模式 19.1 过关类游戏 19.2 模式定义 19.3 模式分析 19.4 模式实现 19.5 设计原则 19.6 使用场合 19.7 本章要点 19.1 过关类游戏 游戏流程如图19-1所示。 19.2 模式定义 备忘录模式(Memento Pattern),是在不破坏封闭的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。 19.3 模式分析 19.3.1 备忘录模式特点 从备忘录模式的定义来看: (1)对象内部需要一个生成备忘录的功能,这个备忘录用来存储对象的内部状态信息; (2)备忘录被保存在外部应用中,外部应用根据情况的需要,在合适的时候恢复对象的内部状态信息; (3)对象内部需要一个根据备忘录恢复状态的功能。 19.3.1 备忘录模式特点 结合我们的游戏示例,得出如图19-2所示的游戏关系结构图。 19.3.2 备忘录模式静态建模 来看看游戏的备忘录模式静态类图,为后面的程序实现建立良好的基础,如图19-3所示。 19.4 模式实现 19.4.1 白箱备忘录模式实现 1.创建备忘录——Memento 2.备忘录发起者——Hero 3.备忘录管理者——Caretaker 4.让英雄挑战BOSS 19.4.2 黑箱备忘录模式实现 1.创建备忘录窄接口——INarrowMemento 2.让Memento实现窄接口,并作为发起者Hero的内部类 3.让备忘录管理者Caretaker只接收窄接口 4.客户端实现 19.5 设计原则 1.封装边界的保持 2.双重接口实现,保证安全性 19.6 使用场合 (1)需要在某一时刻恢复一个对象先前的状态时; (2)需要在外部保存对象某一时刻的状态,但如果用一个接口来让其他对象直接得到这些状态,将会暴露对象的实现细节并破坏对象的封装性。 一般情况下也是可以使用的,其通用静态类图如图19-8所示。 19.6 使用场合 而相应的黑箱备忘录模式实现方式则提供了双重接口访问机制,对发起者对象提供宽接口,而对发起者以外的对象提供窄接口,从而有效地解决了封装性和安全性问题。其通用静态类图如图19-9所示。 19.6 使用场合 1.备忘录模式中的角色 2.扩展1:Java SDK中的备忘录模式 3.扩展2:相关的设计模式 19.7 本章要点 1.备忘录模式 2.设计原则 3.模式中的角色 4.相关的设计模式 5.使用场合

文档评论(0)

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

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

1亿VIP精品文档

相关文档