日韩性视频-久久久蜜桃-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)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 波多野结衣绝顶大高潮 | 亚洲午夜18毛片在线看 | 一区二区三区在线观看视频 | 久久久久久久久久久久久久久久久久久久 | av中文天堂在线 | 人人插人人看 | 黄色在线免费视频 | 欧日韩在线视频 | 欧美性生活网址 | 国产污网站 | 最好看的中文字幕 | 色情毛片 | 美日韩精品 | 欧美体内she精高潮 日韩一区免费 | 99精品久久久久久久婷婷 | 亚洲综合不卡 | 一区二区三区不卡视频 | 在线观看黄色小视频 | 欧美午夜理伦三级在线观看 | 国产一级一级国产 | 性生交大片免费看狂欲 | 日本一区二区高清不卡 | 国产无码日韩精品 | 少妇精品在线 | 国产xxx| 在线观看中文字幕视频 | 日韩网站在线观看 | 国产成人麻豆精品午夜在线 | 大桥未久av一区二区三区中文 | 少妇激情四射 | 麻豆视频传媒入口 | 韩国伦理片免费看 | 极品新婚夜少妇真紧 | 午夜黄色福利视频 | 亚洲天堂一区二区三区 | 中国一及毛片 | 黄wwwww| 亚洲国产精品成人综合 | 一本大道av| 蜜桃成人无码区免费视频网站 | 韩国av三级 | 亚洲综合图片一区 | 久久五十路 | 美女被艹视频网站 | 日韩精品片 | 夜夜狠| 成人中文网 | 中文字幕乱妇无码av在线 | 亚洲free性xxxx护士白浆 | 中文字幕超清在线免费观看 | 成人动漫av| 久久理论电影 | 青草热视频 | 欧美二区视频 | 草草影院最新网址 | av自拍网| 欧美一级不卡视频 | 99久久精品免费看国产四区 | 二十四小时在线更新观看 | 亚洲国产精品免费在线观看 | 亚洲成人精品一区二区三区 | 91国产大片 | 操操操插插插 | 日日操日日操 | 一路向西在线看 | 第色 | 国产亚洲小视频 | 久久国产视频网 | 欧洲亚洲一区 | 天堂色播 | 欧美色亚洲 | 爱爱视频免费网站 | 欧美老熟妇喷水 | 欧美成人秋霞久久aa片 | 日韩精品在线免费观看 | 黄色网址视频在线观看 | 午夜色图 | 美女网站免费 | 免费久久精品视频 | 啪啪的网站 | 黄色免费网站在线 | 毛片基地免费观看 | 日韩a级片在线观看 | 亚洲熟妇av乱码在线观看 | 国产av电影一区二区三区 | 免费无码国产v片在线观看 三级全黄做爰在线观看 | av一级久久| 亚洲国产视频一区 | 成人区精品一区二区婷婷 | 国产,日韩,欧美 | 国产视频精选 | 91激情视频在线 | 91麻豆国产福利精品 | 国产成人福利 | 脱女学生小内内摸了高潮 | 打屁股外国网站 | 国产麻豆天美果冻无码视频 | 欧美一区二区视频在线观看 | 蜜桃网站|