行为模式之备忘录模式(利用窄接口)
2014-09-29 10:25
344 查看
package com.djk.design.action.memory2; public class Person { public Person(String name, String age) { super(); this.name = name; this.age = age; } private String name; private String age; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getAge() { return age; } public void setAge(String age) { this.age = age; } public IMemory createMemory() { return new Memory(name, age); } public void rollback (IMemory iMemory) { Memory memory = (Memory)iMemory; this.name =memory.getrollBackName(); this.age = memory.getrollBackAge(); } private class Memory implements IMemory { private String name; private String age; public Memory(String name, String age) { super(); Memory.this.name = name; Memory.this.age = age; } private String getrollBackName() { return Memory.this.name; } private String getrollBackAge() { return Memory.this.age; } } @Override public String toString() { return "Person [age=" + age + ", name=" + name + "]"; } }
package com.djk.design.action.memory2; public class Manager { private IMemory iMemory; public IMemory getiMemory() { return iMemory; } public void setiMemory(IMemory iMemory) { this.iMemory = iMemory; } }
package com.djk.design.action.memory2; public interface IMemory { }
package com.djk.design.action.memory2; public class Client { public static void main(String[] args) { Person person = new Person("djk", "24"); Manager manager = new Manager() ; manager.setiMemory(person.createMemory()); System.out.println(person); person.setAge("25"); System.out.println(person); person.rollback(manager.getiMemory()); System.out.println(person); } }这个版本的好处是备忘录对象被封装了,外界改不了备忘录的状态,备忘录的状态肯定是第一次存的那个状态。
相关文章推荐
- Memento(备忘录)——对象行为模式
- 《GOF设计模式》—备忘录(MEMENTO)—Delphi源码示例:一个反映备忘录模式的迭代接口
- 行为类模式(六):备忘录(Memento)
- java 利用接口实现工厂模式
- 备忘录模式--玩到尽兴须保存,下次开机继续玩(行为模式05)
- 利用观察者模式设计仿真器内核接口
- 利用Java提供的Observer接口和Observable类实现观察者模式
- 【设计模式】行为模式之备忘录Memento
- java 行为模式 备忘录模式
- 行为模式之备忘录模式
- Java设计模式之从[鼠标接口][星际争霸中的兵种行为]分析适配器(Adapter)模式
- 灵活利用泛型的MVP模式T-MVP(附带一个快速创建MVP接口的Android Studio插件-TMVPHelper)
- (行为模式)MEMENTO——备忘录模式
- Memento(备忘录)——对象行为模式
- 备忘录模式-对象行为模式
- 自己在项目中的学习总结:利用工厂模式+反射机制+缓存机制,实现动态创建不同的数据层对象接口
- 利用接口实现自定义监听事件以及观察者模式
- 行为模式之备忘录模式
- Java 设计模式之备忘录模式的详解(行为模式)