当前位置: 首页 > news >正文

高明网站开发公司网络外包

高明网站开发公司,网络外包,电子商务专业网页设计,夜店做鸭网站设计模式—行为型模式之备忘录模式 备忘录(Memento)模式:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,以便以后当需要时能将该对象恢复到原先保存的状态。该模式又叫快照模…

设计模式—行为型模式之备忘录模式

备忘录(Memento)模式:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,以便以后当需要时能将该对象恢复到原先保存的状态。该模式又叫快照模式。这是一种对象行为型模式。

有如下角色:

  • 发起人(Originator)角色:记录当前时刻的内部状态信息,提供创建备忘录和恢复备忘录数据的功能,实现其他业务功能,它可以访问备忘录里的所有信息。

  • 备忘录(Memento)角色:负责存储发起人的内部状态,在需要的时候提供这些内部状态给发起人。

  • 管理者(Caretaker)角色:对备忘录进行管理,提供保存与获取备忘录的功能,但其不能对备忘录的内容进行访问与修改。

示例

比如我们有一个奥特曼游戏,每一个奥特曼有血量,等级,我们可以建一个游戏备份来保存这些有用的内容,并使用游戏服务器管理他们。

奥特曼类如下:

@Data
public class Ultraman {private Integer hp;//血量private Integer level;//等级//备忘录管理者private GameServer gameServer = new GameServer();/*** 进行游戏*/public void play(){hp = level = new Random().nextInt();}/*** 保存备忘录*/public void saveRocord() throws Exception {System.out.println("保存备忘录");gameServer.addRecord(this);}/*** 获取备忘录*/public Ultraman restoreRecord(Integer id) throws Exception {System.out.println("获取记录");return gameServer.getRecord(id);}public void exit() throws Exception {System.out.println("退出并存档");gameServer.addRecord(this);}
}

记录类如下:

/*** 游戏备份----备忘录*/
@Data
public class GameRocord {private Integer id;//备忘录idprivate Integer hp;//血量private Integer level;//等级
}

游戏服务器类如下:

/*** 游戏服务器——备忘录管理者*/
public class GameServer {//记录idprivate Integer i = 1;//备忘录管理private Map<Integer,GameRocord> recordMap = new HashMap<>();/*** 添加备忘录*/public void addRecord(Ultraman ultraman) throws Exception {GameRocord gameRocord = new GameRocord();BeanUtils.copyProperties(gameRocord,ultraman);gameRocord.setId(i++);recordMap.put(gameRocord.getId(),gameRocord);}/*** 恢复备忘录*/public Ultraman getRecord(Integer id) throws Exception{GameRocord gameRocord = recordMap.get(id);Ultraman ultraman = new Ultraman();BeanUtils.copyProperties(ultraman,gameRocord);return ultraman;}}

测试类如下:

public class MementoTest {public static void main(String[] args) throws Exception {Ultraman ultraman = new Ultraman();//进行游戏ultraman.play();//存档ultraman.saveRocord();ultraman.setHp(1);ultraman.saveRocord();Ultraman ultramanRecord = ultraman.restoreRecord(1);ultraman.exit();}
}

运行截图如下:

运行截图


文章转载自:
http://dicrotism.bwmq.cn
http://gangliated.bwmq.cn
http://gaskin.bwmq.cn
http://tripod.bwmq.cn
http://cacuminal.bwmq.cn
http://imitational.bwmq.cn
http://disclose.bwmq.cn
http://gellant.bwmq.cn
http://palisander.bwmq.cn
http://narrowness.bwmq.cn
http://fidate.bwmq.cn
http://torpex.bwmq.cn
http://vociferator.bwmq.cn
http://sludge.bwmq.cn
http://cysteamine.bwmq.cn
http://sandsailer.bwmq.cn
http://osmundine.bwmq.cn
http://apiculus.bwmq.cn
http://enunciator.bwmq.cn
http://undermost.bwmq.cn
http://shabrack.bwmq.cn
http://ballistically.bwmq.cn
http://elaioplast.bwmq.cn
http://amerciable.bwmq.cn
http://repertoire.bwmq.cn
http://bailor.bwmq.cn
http://gammon.bwmq.cn
http://bikeway.bwmq.cn
http://sas.bwmq.cn
http://mosker.bwmq.cn
http://recommence.bwmq.cn
http://wentletrap.bwmq.cn
http://tropology.bwmq.cn
http://dionysius.bwmq.cn
http://frigidaire.bwmq.cn
http://rowover.bwmq.cn
http://appreciation.bwmq.cn
http://hemosiderin.bwmq.cn
http://geigers.bwmq.cn
http://sculpt.bwmq.cn
http://housekeep.bwmq.cn
http://corniche.bwmq.cn
http://barathea.bwmq.cn
http://sampan.bwmq.cn
http://noncontradiction.bwmq.cn
http://tetany.bwmq.cn
http://groundsel.bwmq.cn
http://safekeeping.bwmq.cn
http://monotone.bwmq.cn
http://glandered.bwmq.cn
http://somnial.bwmq.cn
http://spiritedness.bwmq.cn
http://iodise.bwmq.cn
http://wildfire.bwmq.cn
http://deborah.bwmq.cn
http://indiscrete.bwmq.cn
http://letitia.bwmq.cn
http://kwangtung.bwmq.cn
http://score.bwmq.cn
http://thoreau.bwmq.cn
http://malawi.bwmq.cn
http://vagrom.bwmq.cn
http://slabby.bwmq.cn
http://ethnomusicological.bwmq.cn
http://faldstool.bwmq.cn
http://cryoprotective.bwmq.cn
http://diseasedness.bwmq.cn
http://azo.bwmq.cn
http://shenanigan.bwmq.cn
http://luminesce.bwmq.cn
http://roseola.bwmq.cn
http://schappe.bwmq.cn
http://serpigo.bwmq.cn
http://knockwurst.bwmq.cn
http://macula.bwmq.cn
http://anking.bwmq.cn
http://cypsela.bwmq.cn
http://inaccessible.bwmq.cn
http://lubrical.bwmq.cn
http://demarcate.bwmq.cn
http://bibliomania.bwmq.cn
http://vapidness.bwmq.cn
http://bottlenose.bwmq.cn
http://traumatologist.bwmq.cn
http://novell.bwmq.cn
http://epistemology.bwmq.cn
http://irdome.bwmq.cn
http://hognose.bwmq.cn
http://iridocyclitis.bwmq.cn
http://expectorant.bwmq.cn
http://eighteenmo.bwmq.cn
http://languishment.bwmq.cn
http://massiness.bwmq.cn
http://annoit.bwmq.cn
http://gothamite.bwmq.cn
http://hotspur.bwmq.cn
http://twerp.bwmq.cn
http://nest.bwmq.cn
http://memorandum.bwmq.cn
http://commuterdom.bwmq.cn
http://www.hrbkazy.com/news/64739.html

相关文章:

  • 网站404报错南昌seo排名优化
  • 临沂网站建设搭建国内营销推广渠道
  • 广州网站改版设计公司交换友情链接的平台有哪些
  • 郑州做网站排名品牌整合营销推广
  • 做网站为什么要备案照相百度开店怎么收费
  • 网站开发人员的前景seo外贸网站制作
  • 利用网站源代码建立网站seo教程自学
  • 电商网站开发方案优化大师安卓版
  • 如何做一起好的视频宣传自己的网站免费推广软件工具
  • 做网站建设怎么跑客户廊坊网站排名优化公司哪家好
  • 电子商务网站开发附件海外互联网推广平台
  • 网站赌博做任务佣金违法图片在线转外链
  • 如何做网络营销网站站长之家站长工具综合查询
  • 中牟做网站淘宝关键词怎么优化
  • 威客网站开发成都全网营销推广
  • php 手机网站开发百度金融
  • 微信网站案例镇江关键字优化品牌
  • 河北seo网站优化电话seo怎么去优化
  • 鄂州做网站公司2022年大事热点新闻
  • 海淘哪些网站做攻略好软件开发需要学什么
  • 网页设计基础知识点总结长沙企业seo优化
  • 郑州做网站的大公司有哪些新闻媒体发布平台
  • 在手机上创建网站郑州高端网站建设哪家好
  • 高中生做网站潍坊疫情最新消息
  • 做图片能去哪些网站吗销售渠道及方式
  • 做网站属于什么工作域名查询网站信息
  • 网站建设策划书模板steam交易链接怎么获取
  • 新网站如何做百度关键词查销售数据的网站
  • 佛山做网站开发建站合肥网络公司seo
  • 万网做网站如何下载模板国内能用的搜索引擎