忘备录模式
这种类型的设计模式属于行为型模式,它他解决了方法的合理调用
忘备录模式比较简单 就是存档
这种模式就是在不同时间赋值对象并储存 但是若储存的对象是原来对象 那么调用回退方法势必会造成类的泄露(对类内部过多关心 不符合迪米特法则) 可以新建一个类只储存需要回退的信息 并用集合封装这些信息即可
既然是复制对象 可以配合原型模式使用
以一个人年龄为例
public class Man {
private String age;
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
public AgeMemo saveAge(){
return new AgeMemo(getAge());
}
public void AgeRollBack(AgeMemo memo){
this.age = memo.getStatue();
}
@Override
public String toString() {
return "Man{" +
"age='" + age + '\'' +
'}';
}
}
忘备录类
public class AgeMemo {
private String statue;
public AgeMemo(String age) {
statue = age;
}
public String getStatue() {
return statue;
}
}
忘备录集合类
public class MemoList {
private List<AgeMemo> list;
public MemoList(){
list = new ArrayList<>();
}
public void addAgeMemo(AgeMemo ageMemo){
list.add(ageMemo);
}
public AgeMemo getAgeMemo(int index){
return list.get(index);
}
}