定義:オブジェクトを適切な時期に復元できるようにオブジェクトの特定の状態を保存します
特徴:
1.ユーザーが状態を復元するメカニズムを提供します。これにより、ユーザーは特定の歴史的状態にもっと便利に戻ることができます。
2。情報がカプセル化されているため、ユーザーは州の保存の詳細を気にする必要がありません。
エンタープライズレベルのアプリケーションと一般的なフレームワークのアプリケーション:一般的なテキストエディターがこのモードを使用します
例:
注:この例では、元に戻す操作のみがあり、前方復元操作はありません
/***ターゲットオブジェクト:記憶されるオブジェクト*/class word {private string content;プライベート文字列画像;プライベートストリングテーブル。パブリックワード(文字列コンテンツ、文字列画像、文字列テーブル){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;プライベート文字列画像;プライベートストリングテーブル。 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( "Restorable Content no"); nullを返します。 } wordmemento memento = list.get(index-1); list.remove(index-1);索引 - ;記念品を返します。 }}上記はこの記事のすべての内容です。みんなの学習に役立つことを願っています。誰もがwulin.comをもっとサポートすることを願っています。