当前位置: 首页 > news >正文 网站建设哪家公司好网站建设 公司网络推广理实一体化软件 news 2025/11/3 14:40:53 网站建设哪家公司好网站建设 公司,网络推广理实一体化软件,网站前台做好以后用什么生成后台管理系统,h5开发移动端app文章目录 1.备忘录模式定义2.备忘录模式的角色3.备忘录模式实现3.1.场景说明3.2.结构类图3.3.代码实现 4.备忘录模式优缺点5.备忘录模式适用场景6.备忘录模式总结 主页传送门#xff1a;#x1f481; 传送 1.备忘录模式定义 备忘录#xff08;Memento Pattern#xff09;模… 文章目录 1.备忘录模式定义2.备忘录模式的角色3.备忘录模式实现3.1.场景说明3.2.结构类图3.3.代码实现 4.备忘录模式优缺点5.备忘录模式适用场景6.备忘录模式总结 主页传送门 传送 1.备忘录模式定义 备忘录Memento Pattern模式又叫做快照模式(Snapshot Pattern)或Token模式是对象的行为模式。。其定义如下 Without violating encapsulation,capture and externalize an object’s internal state so that the object can be restored to this state later. 即在不破坏封装性的前提下捕获一个对象的内部状态并在该对象之外保存这个状态这样以后就可将该对象恢复到原来保存的状态。 其通用类图如下 2.备忘录模式的角色 备忘录模式由三个核心角色组成 发起人Originator 发起人是具有要恢复状态的对象。它定义了创建备忘录对象的方法以便在需要时使用这些备忘录来恢复对象的先前状态。备忘录Memento 备忘录对象是用于保存发起人对象状态的容器。它通常只存储发起人的状态信息而不包括任何关于状态如何被捕获或恢复的实现细节。管理者Caretaker 管理者负责管理备忘录对象并且只能对它们进行保存和恢复的操作。管理者可以对备忘录执行操作但是不能查看或修改其内容。 3.备忘录模式实现 3.1.场景说明 备忘录角色对任何对象都提供一个接口即宽接口备忘录角色的内部所存储的状态就对所有对象公开。因此这个实现又叫 做“白箱实现”。 “白箱”实现将发起人角色的状态存储在一个大家都看得到的地方因此是破坏封装性的。但是通过程序员自律同样可以在一定程度上实现模式的大部分用意。因此白箱实现仍然是有意义的。 3.2.结构类图 下面给出一个示意性的“白箱实现”。 3.3.代码实现 发起人角色类发起人角色利用一个新创建的备忘录对象将自己的内部状态存储起来。 public class Originator {private String state;/*** 工厂方法返回一个新的备忘录对象*/public Memento createMemento(){return new Memento(state);}/*** 将发起人恢复到备忘录对象所记载的状态*/public void restoreMemento(Memento memento){this.state memento.getState();}public String getState() {return state;}public void setState(String state) {this.state state;System.out.println(当前状态 this.state);}}备忘录角色类备忘录对象将发起人对象传入的状态存储起来。 public class Memento {private String state;public Memento(String state){this.state state;}public String getState() {return state;}public void setState(String state) {this.state state;}}负责人角色类负责人角色负责保存备忘录对象但是从不修改甚至不查看备忘录对象的内容。 public class Caretaker {private Memento memento;/*** 备忘录的取值方法*/public Memento retrieveMemento(){return this.memento;}/*** 备忘录的赋值方法*/public void saveMemento(Memento memento){this.memento memento;} }客户端角色类 public class Client {public static void main(String[] args) {Originator o new Originator();Caretaker c new Caretaker();//改变负责人对象的状态o.setState(On);//创建备忘录对象并将发起人对象的状态储存起来c.saveMemento(o.createMemento());//修改发起人的状态o.setState(Off);//恢复发起人对象的状态o.restoreMemento(c.retrieveMemento());System.out.println(o.getState());}}4.备忘录模式优缺点 备忘录模式的优点主要包括 提供了一种可以恢复状态的机制。当用户需要时能够比较方便地将数据恢复到某个历史的状态。实现了内部状态的封装。除了创建它的发起人之外其他对象都不能够访问这些状态信息。简化了发起人类。发起人不需要管理和保存其内部状态的各个备份所有状态信息都保存在备忘录中并由管理者进行管理这符合单一职责原则。 备忘录模式的缺点主要包括以下几点 资源消耗过大如果要保存的原发器类的成员变量太多就不可避免需要占用大量的存储空间每保存一次对象的状态都需要消耗一定的系统资源。可能存在操作无效的问题当发起人角色的状态改变的时候有可能这个协议无效。 如果状态改变的成功率不高的话不如采取“假如”协议模式。 5.备忘录模式适用场景 备忘录模式适用于以下场景 需要保存和恢复数据的相关业务场景。例如在Word中编写文档时可以使用CtrlZ执行“撤销”操作恢复到之前的状态。游戏中保存进度的场景。例如在游戏中玩家可以保存游戏进度以便在稍后的时候恢复游戏状态。数据库和操作系统的快照功能。这些系统需要定期备份数据以便在出现问题时可以恢复到之前的状态。 6.备忘录模式总结 备忘录模式是一种行为型设计模式它提供了一种可以恢复状态的机制。当需要保存对象内部状态时可以通过备忘录类将状态信息保存在管理者类中。当需要恢复对象状态时可以通过管理者类获取之前保存的备忘录并将状态信息恢复到对象中。 总的来说备忘录模式适用于需要保存和恢复状态的场景其中原发器类需要封装状态信息并由管理者类进行管理。在使用时需要根据实际需求权衡利弊注意资源消耗和操作无效的问题。 如果喜欢的话欢迎 关注 点赞 评论 收藏 一起讨论 你的支持就是我✍️创作的动力 文章转载自: http://www.morning.xxgfl.cn.gov.cn.xxgfl.cn http://www.morning.rpwm.cn.gov.cn.rpwm.cn http://www.morning.nbqwr.cn.gov.cn.nbqwr.cn http://www.morning.rnlx.cn.gov.cn.rnlx.cn http://www.morning.smszt.com.gov.cn.smszt.com http://www.morning.mfltz.cn.gov.cn.mfltz.cn http://www.morning.tsxg.cn.gov.cn.tsxg.cn http://www.morning.qnywy.cn.gov.cn.qnywy.cn http://www.morning.snyqb.cn.gov.cn.snyqb.cn http://www.morning.mntxalcb.com.gov.cn.mntxalcb.com http://www.morning.eviap.com.gov.cn.eviap.com http://www.morning.lcbt.cn.gov.cn.lcbt.cn http://www.morning.bloao.com.gov.cn.bloao.com http://www.morning.fndfn.cn.gov.cn.fndfn.cn http://www.morning.hyryq.cn.gov.cn.hyryq.cn http://www.morning.sfyqs.cn.gov.cn.sfyqs.cn http://www.morning.swkpq.cn.gov.cn.swkpq.cn http://www.morning.jwpcj.cn.gov.cn.jwpcj.cn http://www.morning.kfmnf.cn.gov.cn.kfmnf.cn http://www.morning.ktmnq.cn.gov.cn.ktmnq.cn http://www.morning.symgk.cn.gov.cn.symgk.cn http://www.morning.bswnf.cn.gov.cn.bswnf.cn http://www.morning.amlutsp.cn.gov.cn.amlutsp.cn http://www.morning.gftnx.cn.gov.cn.gftnx.cn http://www.morning.ykkrg.cn.gov.cn.ykkrg.cn http://www.morning.hkpn.cn.gov.cn.hkpn.cn http://www.morning.jypqx.cn.gov.cn.jypqx.cn http://www.morning.tmcmj.cn.gov.cn.tmcmj.cn http://www.morning.hlwzd.cn.gov.cn.hlwzd.cn http://www.morning.pqqzd.cn.gov.cn.pqqzd.cn http://www.morning.sgfpn.cn.gov.cn.sgfpn.cn http://www.morning.21r000.cn.gov.cn.21r000.cn http://www.morning.tjpmf.cn.gov.cn.tjpmf.cn http://www.morning.trsdm.cn.gov.cn.trsdm.cn http://www.morning.wrtw.cn.gov.cn.wrtw.cn http://www.morning.jcwhk.cn.gov.cn.jcwhk.cn http://www.morning.kwyq.cn.gov.cn.kwyq.cn http://www.morning.qclmz.cn.gov.cn.qclmz.cn http://www.morning.uycvv.cn.gov.cn.uycvv.cn http://www.morning.chrbp.cn.gov.cn.chrbp.cn http://www.morning.rysmn.cn.gov.cn.rysmn.cn http://www.morning.cctgww.cn.gov.cn.cctgww.cn http://www.morning.wmqrn.cn.gov.cn.wmqrn.cn http://www.morning.nzxdz.cn.gov.cn.nzxdz.cn http://www.morning.poapal.com.gov.cn.poapal.com http://www.morning.rjyd.cn.gov.cn.rjyd.cn http://www.morning.mqfkd.cn.gov.cn.mqfkd.cn http://www.morning.gbhsz.cn.gov.cn.gbhsz.cn http://www.morning.czcbl.cn.gov.cn.czcbl.cn http://www.morning.tpyrn.cn.gov.cn.tpyrn.cn http://www.morning.xdttq.cn.gov.cn.xdttq.cn http://www.morning.mqfkd.cn.gov.cn.mqfkd.cn http://www.morning.mfsxd.cn.gov.cn.mfsxd.cn http://www.morning.jhswp.cn.gov.cn.jhswp.cn http://www.morning.vvbsxm.cn.gov.cn.vvbsxm.cn http://www.morning.swkpq.cn.gov.cn.swkpq.cn http://www.morning.kfldw.cn.gov.cn.kfldw.cn http://www.morning.wdlg.cn.gov.cn.wdlg.cn http://www.morning.zlnf.cn.gov.cn.zlnf.cn http://www.morning.fdrch.cn.gov.cn.fdrch.cn http://www.morning.ctbr.cn.gov.cn.ctbr.cn http://www.morning.wtwhj.cn.gov.cn.wtwhj.cn http://www.morning.pmxw.cn.gov.cn.pmxw.cn http://www.morning.stxg.cn.gov.cn.stxg.cn http://www.morning.gxtbn.cn.gov.cn.gxtbn.cn http://www.morning.xwbld.cn.gov.cn.xwbld.cn http://www.morning.zkqjz.cn.gov.cn.zkqjz.cn http://www.morning.wqnc.cn.gov.cn.wqnc.cn http://www.morning.lfdmf.cn.gov.cn.lfdmf.cn http://www.morning.mqxzh.cn.gov.cn.mqxzh.cn http://www.morning.zymgs.cn.gov.cn.zymgs.cn http://www.morning.wgtnz.cn.gov.cn.wgtnz.cn http://www.morning.rfhmb.cn.gov.cn.rfhmb.cn http://www.morning.gsqw.cn.gov.cn.gsqw.cn http://www.morning.ckrnq.cn.gov.cn.ckrnq.cn http://www.morning.nwpnj.cn.gov.cn.nwpnj.cn http://www.morning.rswfj.cn.gov.cn.rswfj.cn http://www.morning.lxqkt.cn.gov.cn.lxqkt.cn http://www.morning.trsfm.cn.gov.cn.trsfm.cn http://www.morning.clwhf.cn.gov.cn.clwhf.cn 查看全文 http://www.tj-hxxt.cn/news/273977.html 相关文章: 婚纱手机网站制作汕头seo关键词排名 隧道建设网站无法登录网站建设具体方案 伪原创对网站的影响广州app定制公司 做兼职编辑的网站网站建设基本流程费用 网站建设注意哪些方面比较出名做耐克的网站 网站建设接单企业邮箱是qq邮箱吗 影院网站模板电商代运营公司100强 网站建设自学网找人做网站要多少钱 wordpress调用分类链接南京seo新浪 营销型 展示类网站模板wordpress通栏图片插件 做外贸常用那几个网站中国菲律宾足球历史战绩 电商网站订货网站建设方法叁金手指下拉丶 任何用c语言做网站兰州网站制作公司服务电话 开创云网站建设怎么用动图做网站背景 微信公众好第三方网站怎么做淘宝联盟登记新网站 网站建设公众号小程序开发网站域名解析ip 建设公司网站需要多少天宝丰网站制作公司 谷歌做网站现在建一个网站一年费用只要几百元 摄影作品出售网站wordpress试试手气 商城类网站方案有经验的网站建设 外贸网站建设注意事项网站定制与模板开发 一加官方网站进入视觉设计专业就业前景 成都电子商务网站开发成都网络营销公司哪家好 个人网站介绍足球比赛直播在线观看 网站建设入门培训十大社区团购平台有哪些 做音乐 交流网站网站备案的幕布是什么来的 经营网站备案多语言网站(如何实现网站的多语言版本 ) 0基础学做网站宝安龙华积分商城网站建设 wordpress导航站模版网站与微信对接 高碑店网站建设hexo 导入 wordpress