정의 : 적절한 시간에 물체를 복원 할 수 있도록 객체의 특정 상태를 저장하십시오.
특징:
1. 사용자에게 상태를 복원하는 메커니즘을 제공하여 사용자가 특정 역사 상태로보다 편리하게 돌아올 수 있습니다.
2. 정보가 캡슐화되어 사용자가 상태 보존의 세부 사항을 신경 쓰지 않아도됩니다.
엔터프라이즈 수준의 응용 프로그램 및 공통 프레임 워크의 응용 프로그램 : 공통 텍스트 편집기이 모드를 사용합니다.
예:
참고 :이 경우 실행 취소 작업 만 있으며 전방 복원 작업이 없습니다.
/*** 대상 객체 : 암기 할 객체*/class Word {개인 문자열 내용; 개인 문자열 이미지; 개인 문자열 테이블; public Word (문자열 내용, 문자열 이미지, 문자열 테이블) {super (); this.content = 내용; this.image = 이미지; this.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 컨텐츠; } public void setContent (문자열 내용) {this.content = content; } public String getImage () {return image; } public void setImage (문자열 이미지) {this.Image = image; } public String getTable () {return 테이블; } public void settable (문자열 테이블) {this.table = 테이블; }}/*** Memorandum Object*/Class WordMemento {개인 문자열 내용; 개인 문자열 이미지; 개인 문자열 테이블; public WordMemento (Word Word) {this.content = Word.getContent (); this.image = word.getImage (); this.table = Word.getTable (); } public String getContent () {return 컨텐츠; } public void setContent (문자열 내용) {this.content = content; } public String getImage () {return image; } public void setImage (문자열 이미지) {this.Image = image; } public String getTable () {return 테이블; } public void settable (문자열 테이블) {this.table = 테이블; }}/*** 담당자 개체 : 메모를 녹음하는 책임*/Class Caretaker {private list <WordMemento> list = new ArrayList <> (); 개인 int index = 0; public void setmemento (WordMemento memento) {list.add (memento); this.index = list.size (); } public WordMemento getwordmemento () {if (index == 0) {System.out.println ( "복원 가능한 콘텐츠 없음"); 널 리턴; } WordMemento memento = list.get (index-1); list.remove (index-1); 색인--; 반환 memento; }}위는이 기사의 모든 내용입니다. 모든 사람의 학습에 도움이되기를 바랍니다. 모든 사람이 wulin.com을 더 지원하기를 바랍니다.