为什么80%的码农都做不了架构师?>>>   

在未来,时间旅行将被发明,备忘录是时间旅行的关键。基本上,他要做的是允许一个对象转换成状态。 在下面的例子,你可以时间旅行到你生命的任何时间,你可以重启去你以前去过的时代。

备忘录模式类图

备忘录模式Java代码

package designpatterns.memento;
import java.util.List;
import java.util.ArrayList;
class Life {private String time;public void set(String time) {System.out.println("Setting time to " + time);this.time = time;}public Memento saveToMemento() {System.out.println("Saving time to Memento");return new Memento(time);}public void restoreFromMemento(Memento memento) {time = memento.getSavedTime();System.out.println("Time restored from Memento: " + time);}public static class Memento {private final String time;public Memento(String timeToSave) {time = timeToSave;}public String getSavedTime() {return time;}}
}public class You {public static void main(String[] args) {List savedTimes = new ArrayList();Life life = new Life();//time travel and record the eraslife.set("2000 B.C.");savedTimes.add(life.saveToMemento());life.set("2000 A.D.");savedTimes.add(life.saveToMemento());life.set("3000 A.D.");savedTimes.add(life.saveToMemento());life.set("4000 A.D.");life.restoreFromMemento(savedTimes.get(0));   }
}

转载于:https://my.oschina.net/markho/blog/498250

行为型模式之十一:备忘录模式相关推荐

  1. 《JAVA与模式》之备忘录模式

    备忘录模式又叫做快照模式(Snapshot Pattern)或Token模式,是对象的行为模式. 备忘录对象是一个用来存储另外一个对象内部状态的快照的对象.备忘录模式的用意是在不破坏封装的条件下,将一 ...

  2. 设计模式的理解:状态模式(State) 和备忘录模式(Memento)

    一.状态模式 状态模式,允许对象在内部状态发生改变时改变它的行为,对象看起来好像修改了它的类.它的实现方式和策略模式相似,目的都是对if...else语句进行优化,只不过,策略模式通过外部传入枚举.条 ...

  3. java 备忘录模式_java设计模式--备忘录模式

    备忘录模式:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象外保存这个状态,这样以后可将此对象恢复成原来的状态. 就拿单机游戏举例,玩游戏打boss前我们通常都会存档,避免打boss时失误死 ...

  4. 设计模式19——行为型模式之备忘录模式

     定义:备忘录模式(MementoPattern),在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态.这样以后就可将该对象恢复到原先保存的状态. 类型:对象行为型模式. 概述 ...

  5. 《设计模式详解》行为型模式 - 备忘录模式

    备忘录模式 6.10 备忘录模式 6.10.1 概述 6.10.2 结构 6.10.3 案例实现 "白箱" 备忘录模式 "黑箱" 备忘录模式 6.10.4 优缺 ...

  6. 设计模式 行为型模式 -- 备忘录模式 具体实例:游戏挑战BOSS

    01:设计模式 行为型模式 – 备忘录模式(定义.结构.优缺点 适用场景分析) 02:设计模式 行为型模式 – 备忘录模式 具体实例:游戏挑战BOSS 03:设计模式 行为型模式 实例 – 备忘录模式 ...

  7. 设计模式 行为型模式 实例 -- 备忘录模式实例:游戏备忘录

    01:设计模式 行为型模式 – 备忘录模式(定义.结构.优缺点 适用场景分析) 02:设计模式 行为型模式 – 备忘录模式 具体实例:游戏挑战BOSS 03:设计模式 行为型模式 实例 – 备忘录模式 ...

  8. 备忘录模式 Memento 快照模式 标记Token模式 行为型 设计模式(二十二)

    备忘录模式 Memento 沿着脚印,走过你来时的路,回到原点. 苦海翻起爱恨 在世间难逃避命运 相亲竟不可接近 或我应该相信是缘份 一首<一生所爱>触动了多少人的心弦,一段五百年都没有结 ...

  9. 【设计模式】备忘录模式

    备忘录模式(Memento Pattern)保存一个对象的某个状态,以便在适当的时候恢复对象.备忘录模式属于行为型模式. 介绍 意图:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存 ...

最新文章

  1. 智能车竞赛云端比赛第三天:一场在家具建材广场中的智能车比赛
  2. Sleep()和wait()方法的区别
  3. 微软CEO纳德拉拥抱Linux意欲何为?
  4. python 单例模式的实现方法_python中单例模式的四种实现方式
  5. linux之ps命令详解
  6. Sql 存储过程加游标结合的使用
  7. linq to js使用汇总
  8. UVA10946 You want what filled?【DFS】
  9. Nginx二级域名及多Server反向代理配置
  10. SpringBoot启动类自动包扫描 三种方式
  11. 计算机主板过热报警,利用电脑主板BIOS的报警声音辨别电脑故障
  12. sql注入总结(一)
  13. 定制婚礼APP开发功能
  14. 实现从淘宝(天猫)定时抓取订单数据、打印电子面单并保存到ERP表中
  15. 千万 PV,百万PV什么意思?
  16. C语言基础教学——认识C语言(第一课)
  17. 2009世界500强排名(2009年07月08日)
  18. 最全的TCP/UDP 协议知识点整理
  19. 线程之插队(join方法)
  20. matlab magnify程序,magnify matlab源程序

热门文章

  1. 沉浸式5G实景、AI+AR体验、机器人互动|5G+数智化展馆广州开幕
  2. 亲测吃知乎月饼变身“喷射战士”,我给大家科普一下发生甚么事了
  3. 英特尔又做了一个违背祖宗的决定:布局RISC-V
  4. 7999元大疆最新无人机,支持第一人称视角极速拍摄,网友:不是航拍,是直接起飞...
  5. 环信-获取未读消息数量
  6. Mysql 监视工具
  7. org.springframework.beans包
  8. 【转】PowerDesigner表结构和字段大小写转换
  9. Middleware课程01-概述
  10. XenServer中License的设置对各种操作的影响