行为型模式之十一:备忘录模式
为什么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
行为型模式之十一:备忘录模式相关推荐
- 《JAVA与模式》之备忘录模式
备忘录模式又叫做快照模式(Snapshot Pattern)或Token模式,是对象的行为模式. 备忘录对象是一个用来存储另外一个对象内部状态的快照的对象.备忘录模式的用意是在不破坏封装的条件下,将一 ...
- 设计模式的理解:状态模式(State) 和备忘录模式(Memento)
一.状态模式 状态模式,允许对象在内部状态发生改变时改变它的行为,对象看起来好像修改了它的类.它的实现方式和策略模式相似,目的都是对if...else语句进行优化,只不过,策略模式通过外部传入枚举.条 ...
- java 备忘录模式_java设计模式--备忘录模式
备忘录模式:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象外保存这个状态,这样以后可将此对象恢复成原来的状态. 就拿单机游戏举例,玩游戏打boss前我们通常都会存档,避免打boss时失误死 ...
- 设计模式19——行为型模式之备忘录模式
定义:备忘录模式(MementoPattern),在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态.这样以后就可将该对象恢复到原先保存的状态. 类型:对象行为型模式. 概述 ...
- 《设计模式详解》行为型模式 - 备忘录模式
备忘录模式 6.10 备忘录模式 6.10.1 概述 6.10.2 结构 6.10.3 案例实现 "白箱" 备忘录模式 "黑箱" 备忘录模式 6.10.4 优缺 ...
- 设计模式 行为型模式 -- 备忘录模式 具体实例:游戏挑战BOSS
01:设计模式 行为型模式 – 备忘录模式(定义.结构.优缺点 适用场景分析) 02:设计模式 行为型模式 – 备忘录模式 具体实例:游戏挑战BOSS 03:设计模式 行为型模式 实例 – 备忘录模式 ...
- 设计模式 行为型模式 实例 -- 备忘录模式实例:游戏备忘录
01:设计模式 行为型模式 – 备忘录模式(定义.结构.优缺点 适用场景分析) 02:设计模式 行为型模式 – 备忘录模式 具体实例:游戏挑战BOSS 03:设计模式 行为型模式 实例 – 备忘录模式 ...
- 备忘录模式 Memento 快照模式 标记Token模式 行为型 设计模式(二十二)
备忘录模式 Memento 沿着脚印,走过你来时的路,回到原点. 苦海翻起爱恨 在世间难逃避命运 相亲竟不可接近 或我应该相信是缘份 一首<一生所爱>触动了多少人的心弦,一段五百年都没有结 ...
- 【设计模式】备忘录模式
备忘录模式(Memento Pattern)保存一个对象的某个状态,以便在适当的时候恢复对象.备忘录模式属于行为型模式. 介绍 意图:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存 ...
最新文章
- 智能车竞赛云端比赛第三天:一场在家具建材广场中的智能车比赛
- Sleep()和wait()方法的区别
- 微软CEO纳德拉拥抱Linux意欲何为?
- python 单例模式的实现方法_python中单例模式的四种实现方式
- linux之ps命令详解
- Sql 存储过程加游标结合的使用
- linq to js使用汇总
- UVA10946 You want what filled?【DFS】
- Nginx二级域名及多Server反向代理配置
- SpringBoot启动类自动包扫描 三种方式
- 计算机主板过热报警,利用电脑主板BIOS的报警声音辨别电脑故障
- sql注入总结(一)
- 定制婚礼APP开发功能
- 实现从淘宝(天猫)定时抓取订单数据、打印电子面单并保存到ERP表中
- 千万 PV,百万PV什么意思?
- C语言基础教学——认识C语言(第一课)
- 2009世界500强排名(2009年07月08日)
- 最全的TCP/UDP 协议知识点整理
- 线程之插队(join方法)
- matlab magnify程序,magnify matlab源程序
热门文章
- 沉浸式5G实景、AI+AR体验、机器人互动|5G+数智化展馆广州开幕
- 亲测吃知乎月饼变身“喷射战士”,我给大家科普一下发生甚么事了
- 英特尔又做了一个违背祖宗的决定:布局RISC-V
- 7999元大疆最新无人机,支持第一人称视角极速拍摄,网友:不是航拍,是直接起飞...
- 环信-获取未读消息数量
- Mysql 监视工具
- org.springframework.beans包
- 【转】PowerDesigner表结构和字段大小写转换
- Middleware课程01-概述
- XenServer中License的设置对各种操作的影响