Java 메모 모드 쉽게 파악

정의: 적절한 시점에 객체를 복원하기 위해 객체의 상태를 저장합니다.
특징:
1. 사용자에게 상태를 회복할 수 있는 메커니즘을 제공하여 사용자가 비교적 편리하게 특정한 역사의 상태로 돌아갈 수 있도록 한다.
2. 정보의 봉인을 실현하여 사용자가 상태의 저장에 관심을 갖지 않아도 된다.
엔터프라이즈급 응용 프로그램 및 일반 프레임워크에서의 응용: 일반 텍스트 편집기에서 이 모드를 사용합니다.
인스턴스:
주의: 이 실례에서 취소 작업만 있고 앞으로 복원 작업은 없습니다.

/**
 *  : 
 */
class Word {

 private String content;
 private String image;
 private String table;
 public Word(String content, String image, String table) {
 super();
 this.content = content;
 this.image = image;
 this.table = table;
 }
 
 public WordMemento memento(){
 return new WordMemento(this);
 }
 
 public void recovery(WordMemento memento){
 this.content = memento.getContent();
 this.image = memento.getImage();
 this.table = memento.getTable();
 }
 
 public String getContent() {
 return content;
 }
 public void setContent(String content) {
 this.content = content;
 }
 public String getImage() {
 return image;
 }
 public void setImage(String image) {
 this.image = image;
 }
 public String getTable() {
 return table;
 }
 public void setTable(String table) {
 this.table = table;
 }
}

/**
 *  
 */
class WordMemento{
 private String content;
 private String image;
 private String table;
 
 public WordMemento(Word word) {
 this.content = word.getContent();
 this.image = word.getImage();
 this.table = word.getTable();
 }
 public String getContent() {
 return content;
 }
 public void setContent(String content) {
 this.content = content;
 }
 public String getImage() {
 return image;
 }
 public void setImage(String image) {
 this.image = image;
 }
 public String getTable() {
 return table;
 }
 public void setTable(String table) {
 this.table = table;
 }
}
/**
 *  : 
 */
class CareTaker{

 private List<WordMemento> list = new ArrayList<>();
 private int index = 0;
 
 public void setMemento(WordMemento memento){
 list.add(memento);
 this.index = list.size();
 }
 
 public WordMemento getWordMemento(){
 if(index == 0){
  System.out.println(" ");
  return null;
 }
 WordMemento memento = list.get(index-1);
 list.remove(index-1);
 index--;
 return memento;
 }
}
이상은 본문의 전체 내용입니다. 여러분의 학습에 도움이 되고 저희를 많이 응원해 주십시오.

좋은 웹페이지 즐겨찾기