日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > java >内容正文

java

Java笔记-Java中备忘录模式

發(fā)布時間:2025/3/15 java 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java笔记-Java中备忘录模式 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

首先設(shè)計模式代表外招功法,是外招的模板,個人覺得他是為面向?qū)ο?個原則而準(zhǔn)備的:

面向?qū)ο蟪绦蛟O(shè)計要考慮7個原則:

單一職責(zé)原則:設(shè)計目的單一的類;

開放封閉原則:對擴(kuò)展開發(fā),對修改封閉;

李氏替換原則:子類可以替換父類;

依賴倒置原則:要依賴于抽象,不依賴于具體,面向接口的編程;

接口隔離原則:使用多個專用的接口比使用單一的接口要好;

組合重用原則:盡可能使用組合,而非繼承;

迪米特原則:一個對象盡可能少的了解其他對象。

通過這7個原則,創(chuàng)建起來的設(shè)計模式。

橋接模式的基本的概念參照C++設(shè)計模式的博文:

https://blog.csdn.net/qq78442761/article/details/96147238

在這里我舉個Java的例子,用Java來實現(xiàn)下備忘錄模式。

備忘錄模式適合模擬游戲存檔的功能,在此使用Java模擬下游戲存檔:

UML圖如下:

?

這里簡單解釋下,Game可以輸出SaveFile這個存檔,有一個控制類叫Controller可以保存這個存儲為List,從而可以對保存的進(jìn)行進(jìn)度進(jìn)行回滾。

比如一個戰(zhàn)士在100級和101級,和102級都有存檔,現(xiàn)在打Boss死了,會自動退到他的101級存檔重新開始:

結(jié)構(gòu)如下:

?源碼如下:

Controller.java

package cn.it1995;import java.util.ArrayList; import java.util.List;public class Controller {private List<SaveFile> saveFileList = new ArrayList<SaveFile>();public void add(SaveFile saveFile){saveFileList.add(saveFile);}public SaveFile get(Integer index){return saveFileList.get(index);} }

Game.Java

package cn.it1995;public class Game {private String status;public void setStatus(String status){this.status = status;}public String getStatus(){return this.status;}public SaveFile saveStatusToFile(){return new SaveFile(status);}public void setStatusFromFile(SaveFile saveFile){status = saveFile.getFileContent();} }

SaveFile.java

package cn.it1995;public class SaveFile {private String fileContent;public SaveFile(String fileContent){this.fileContent = fileContent;}public String getFileContent() {return fileContent;} }

Main.Java

package cn.it1995;public class Main {public static void main(String[] args) {Game game = new Game();Controller controller = new Controller();game.setStatus("{'name':'warrior', 'level':100}");controller.add(game.saveStatusToFile());game.setStatus("{'name':'warrior', 'level':101}");controller.add(game.saveStatusToFile());game.setStatus("{'name':'warrior', 'level':102}");controller.add(game.saveStatusToFile());//回退到戰(zhàn)士的第一個存單game.setStatusFromFile(controller.get(0));System.out.println(game.getStatus());} }

運(yùn)行截圖:

?Controller中的值:

?

源碼打包下載地址:

https://github.com/fengfanchen/Java/tree/master/JavaMementoPattern

總結(jié)

以上是生活随笔為你收集整理的Java笔记-Java中备忘录模式的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 久久亚洲AV成人无码国产野外 | 欧美性猛片aaaaaaa做受 | 白白色免费视频 | 亚洲一区二区自拍偷拍 | 亚洲美女网站 | 亚洲最新在线视频 | 午夜精品久久久久久久99热黄桃 | 欧美我不卡 | 人妖粗暴刺激videos呻吟 | 特级毛片在线播放 | 日本黄色一区 | www.亚洲精品 | 亚洲97在线 | www日本免费 | av体验区 | 久久潮 | 色亚洲欧美 | 国产 日韩 欧美 精品 | 日本乱子伦xxxx | 亚久久| 香蕉视频官网 | 91亚洲精品久久久蜜桃借种 | 视频在线中文字幕 | 欧美日韩中文字幕一区二区 | 国产一区亚洲二区 | 人妻无码久久一区二区三区免费 | 日韩网站免费观看高清 | 美女自拍视频 | 麻豆传媒在线观看 | 777理伦三级做爰 | 亚洲欧美高清 | 国产片高清在线观看 | 无码人妻丰满熟妇区毛片蜜桃精品 | 欧美91精品久久久久国产性生爱 | 日韩网站在线播放 | 欧美视频在线观看视频 | av小说在线观看 | 国产精品久久网站 | 99re在线视频精品 | 亚洲免费视频播放 | 天天射夜夜操 | 自拍天堂 | 国语对白做受按摩的注意事项 | va毛片 | 超碰在线网址 | 国产美女www爽爽爽 www.国产毛片 | 国产精品VideoSex性欧美 | 亚洲瑟瑟| 国产小视频在线看 | 精品久久无码视频 | 污av | 2021亚洲天堂 | 男人av资源 | 久久精品亚洲一区 | 四虎成人在线视频 | 亚洲国产果冻传媒av在线观看 | 久久神马影院 | 国产chinesehd精品 | 国产夫妻性生活视频 | 蜜臀免费av| 久久国产精品一区二区三区 | 欧美不卡 | 99视频国产精品 | 成年人视频在线播放 | 黄色一级黄色片 | 欧美性视频在线 | av首页在线观看 | 农村脱精光一级 | 久久丫精品忘忧草西安产品 | 李华月全部毛片 | 日韩欧美性视频 | 国产在线观看网站 | 国产99页| 午夜黄色网 | 99精品欧美一区二区蜜桃免费 | 综合网五月 | 亚洲一二区在线 | 国产露脸国语对白在线 | 激情小说中文字幕 | 国产精品三级电影 | 欧美一区二区三 | 温柔女教师在线观看 | 天堂网一区 | 一本一本久久a久久精品综合麻豆 | 国产一区二区在线视频 | 黄色一级片网站 | 欧美激情视频网 | 亚洲 激情 | 国产高清视频免费在线观看 | 国产一级淫片免费 | 色欲av无码精品一区 | 精品人妻av一区二区三区 | 激情文学av| 国产精品专区在线观看 | 国产一区二区福利 | 在线观看中文 | 国产精久久久久久 | 精品日韩一区二区三区四区 | 蜜桃视频一区二区三区 |