国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

輕松掌握Java備忘錄模式

2019-11-26 13:47:08
字體:
來源:轉載
供稿:網友

定義:保存一個對象的某個狀態,以便在適當的時候恢復對象

特點:

    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; }}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 瓮安县| 东至县| 杨浦区| 盐津县| 手游| 长沙县| 墨竹工卡县| 富宁县| 普陀区| 高淳县| 宁国市| 扎兰屯市| 乌兰县| 读书| 浏阳市| 巴中市| 新源县| 漯河市| 济南市| 巍山| 边坝县| 克山县| 永川市| 灵寿县| 上蔡县| 米林县| 滕州市| 双峰县| 旺苍县| 镇雄县| 赞皇县| 阳朔县| 耒阳市| 郓城县| 灌云县| 中宁县| 莫力| 朔州市| 乌兰察布市| 长沙市| 鄱阳县|