- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2C设计模式备忘录模式ppt课件
www.ChinaSA.info www.ChinaSA.info Design Patterns 备忘录模式 刘 伟 (Sunny) weiliu_china@126.com 大纲 备忘录模式概述 备忘录模式的结构与实现 备忘录模式的应用实例 实现多次撤销 备忘录模式的优缺点与适用环境 备忘录模式概述 备忘录模式——软件中的“后悔药”——撤销(Undo) 备忘录模式概述 分析 通过使用备忘录模式可以让系统恢复到某一特定的历史状态 首先保存软件系统的历史状态,当用户需要取消错误操作并且返回到某个历史状态时,可以取出事先保存的历史状态来覆盖当前状态 备忘录模式概述 备忘录模式的定义 对象行为型模式 备忘录模式:在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样就可以在以后将对象恢复到原先保存的状态。 Memento Pattern: Without violating encapsulation, capture and externalize an objects internal state so that the object can be restored to this state later. 备忘录模式概述 备忘录模式的定义 别名为标记(Token)模式 提供了一种状态恢复的实现机制,使得用户可以方便地回到一个特定的历史步骤 当前在很多软件所提供的撤销(Undo)操作中就使用了备忘录模式 备忘录模式的结构与实现 备忘录模式的结构 备忘录模式的结构与实现 备忘录模式的结构 备忘录模式包含以下3个角色: Originator(原发器) Memento(备忘录) Caretaker(负责人) 备忘录模式的结构与实现 备忘录模式的实现 典型的原发器类代码: namespace MementoSample { public class Originator { private string state; public Originator(string state) { this.state = state; } // 创建一个备忘录对象 internal Memento CreateMemento() { return new Memento(this); } // 根据备忘录对象恢复原发器状态 internal void RestoreMemento(Memento m) { state = m.GetState(); } public void SetState(string state) { this.state=state; } public string GetState() { return this.state; } } } 备忘录模式的结构与实现 备忘录模式的实现 典型的备忘录类代码: namespace MementoSample { //备忘录类,默认可见性,在程序集内可见 internal class Memento { private string state; internal Memento(Originator o) { state = o.GetState(); } internal void SetState(string state) { this.state = state; } internal string GetState() { return this.state; } } } 备忘录模式的结构与实现 备忘录模式的实现 除了Originator类,不允许其他类来调用备忘录类Memento的构造函数与相关方法 如果允许其他类调用SetState()等方法,将导致在备忘录中保存的历史状态发生改变,通过撤销操作所恢复的状态就不再是真实的历史状态,备忘录模式也就失去了本身的意义 ? 理想的情况是只允许生成该备忘录的原发器访问备忘录的内部状态 备忘录模式的结构与实现
您可能关注的文档
- 第九节 技术性贸易壁垒协议.ppt
- 第二章 钎料合金.ppt
- 货币银行学 第十章 货币供给.ppt
- 第三节 止咳平喘药.ppt
- 货物品质.ppt
- 第章 MATLAB概述.ppt
- 金融企业会计第十一章 租赁公司业务的核算.ppt
- 金融企业会计第十章 信托投资公司业务核算.ppt
- ( 复 习 课 ) 川教版世界近代史(上) 第二学习主题.ppt
- ()统计软件简介.ppt
- 2026届上海市廊下中学九年级化学第一学期期中经典模拟试题含解析.doc
- 宠物寄养托管合同2025年协议范本.docx
- 宠物寄养委托书2025.docx
- 2026届云南省玉溪市新平县化学九年级第一学期期中综合测试试题含解析.doc
- 小学数学小升初冲刺试卷六含答案.pdf
- 宠物寄养协议(2025年宠物经济).docx
- 2025云南玉溪铁集物流有限公司招聘工作人员1人(公共基础知识)综合能力测试题附答案解析.docx
- 2026届安徽省合肥四十五中学化学九上期中学业质量监测试题含解析.doc
- 2025年植物生理学题库及答案.docx
- 2025云南怒江州州级机关统一遴选公务员(公共基础知识)综合能力测试题附答案解析.docx
最近下载
- 基于核心素养的高中数学单元作业设计研究——以函数的概念与性质为例.pdf
- 2022北京朝阳区初二(上)期末考试语文试卷及答案.docx VIP
- 一只想飞的猫PPT课件.pptx VIP
- 《变色龙》(契诃夫)ppt课件完美版.pptx VIP
- 住建部GB 55038-2025《住宅项目规范》核心要点解读.pptx VIP
- 院内按病种分值付费(DIP)专题培训.ppt VIP
- 土壤环境背景值.pdf VIP
- 如何获取乳内动脉教案.ppt VIP
- Unit5 Fun Clubs Section A Grammar Focus课件 人教版(2024)七年级英语上册.pptx VIP
- 【宏观专题】黄金的“非寻常”定价-240531.pdf VIP
原创力文档


文档评论(0)