阅读笔记常见的设计模式之三:备忘录模式的简单理解
2017-09-21 10:25
344 查看
先看下下面程序:
我的理解是:
在使用备忘录模式的那个类A(对象)中创建一个方法,这个方法依托备忘录的类B提供的要保存的参数数据进行数据赋值,将类A需要保存的数据参数保存到类B中,然后在类A中提供一个restore方法,这个方法参数是类B的对象,然后需要一个备忘录的管理类C,这个类提供两个方法:得到备忘录对象和保存备忘录对象。当你需要在客户端实现备忘录操作的时候,首先new出A类,调用A类的createMemoto方法将参数赋值给类B,然后new出类C,调用C的archive方法进行备忘录对象的保存,当A类退出后再次构建游戏对象,调用A类对象的restore对象将caretaker.getMemoto对象传入即可。
有一句总结的很好:
备忘录模式是在不破坏封装的条件下,通过备忘录对象存储另一个对象内部状态的快照,在将来合适的时候把这个对象还原到存储起来的状态.
public class LOL{ private int mMoney=0; private String mHero="德玛"; private String mName="英雄联盟" public void play(){ syso("进入游戏:"+mMonet+"厉害了"); mMoney++; syso(" "+mHero+"厉害了"); } public void quit(){ syso("---------------"); syso(mHero+"退出游戏"); } //创建备忘录 public Memoto createMemoto(){ Memoto memoto=new Memoto(); m } } //定义备忘录角色,存储内部状态 public class Memoto(){ public int mMoney; public String mHero; public String mName; @Override public String toString(){ retorn " ("+mMoney+" "+mHero+" "+mName+")"; } } //定义备忘录的操作者 public class Caretaker{ //备忘录 Memoto mMemoto; //获取存档 public Memoto getMemoto(){ return mMemoto; } //实现存档 public void archive(Memoto memoto){ this.mMemoto=memoto; } } //客户端使用 public class Client{ public static void main(String[] args){ LOL lol=new LOL(); Caretaker caretaker=new Caretaker(); //实现存档 caretaker.achieve(lol.createMemoto()); lol.quit(); LOL lol=new LOL(); //恢复存档 lol.restore(caretaker.getMemoto()); } }
我的理解是:
在使用备忘录模式的那个类A(对象)中创建一个方法,这个方法依托备忘录的类B提供的要保存的参数数据进行数据赋值,将类A需要保存的数据参数保存到类B中,然后在类A中提供一个restore方法,这个方法参数是类B的对象,然后需要一个备忘录的管理类C,这个类提供两个方法:得到备忘录对象和保存备忘录对象。当你需要在客户端实现备忘录操作的时候,首先new出A类,调用A类的createMemoto方法将参数赋值给类B,然后new出类C,调用C的archive方法进行备忘录对象的保存,当A类退出后再次构建游戏对象,调用A类对象的restore对象将caretaker.getMemoto对象传入即可。
有一句总结的很好:
备忘录模式是在不破坏封装的条件下,通过备忘录对象存储另一个对象内部状态的快照,在将来合适的时候把这个对象还原到存储起来的状态.
相关文章推荐
- 阅读笔记常见的设计模式之二:观察者模式
- 阅读笔记常见的设计模式之一:单例模式
- 阅读笔记常见的设计模式之四:工厂模式
- 设计模式笔记1 - 简单工厂 和 工厂模式理解以及使用
- .Net学习笔记----2015-06-27(简单工厂设计模式)
- 设计模式学习笔记-备忘录模式
- 《Head First 设计模式》阅读笔记(五)——单件模式
- HeadFirst 设计模式学习笔记22-- 备忘录(Memento)模式拾零
- java 设计模式 学习笔记(1) - 简单工厂模式
- 设计模式学习笔记--备忘录模式
- 设计模式笔记:备忘录模式
- 设计模式学习笔记——备忘录模式
- 《Head First 设计模式》阅读笔记(四)——工厂模式
- 设计模式学习笔记三:简单工厂(Simple Factory)
- 9.3.2: 常见设计模式精讲---简单工厂
- 设计模式学习笔记——备忘录模式
- 《Head First 设计模式》阅读笔记(五)——单件模式
- 简单理解遵循接口隔离原则的Java设计模式编程
- 简单理解常用设计模式(九)建造者模式
- 设计模式学习笔记-简单工厂模式