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

做淘客应该知道的网站园林景观网站模板

做淘客应该知道的网站,园林景观网站模板,wordpress添加html页面,诸城公司做网站备忘录设计模式(Memento Pattern) 在不破坏封闭的前提下,捕获一个对象的内部状态,保存对象的某个状态,以便在适当的时候恢复对象,又叫做快照模式,属于行为模式备忘录模式实现的方式需要保证被保…
  • 备忘录设计模式(Memento Pattern)

    • 在不破坏封闭的前提下,捕获一个对象的内部状态,保存对象的某个状态,以便在适当的时候恢复对象,又叫做快照模式,属于行为模式
    • 备忘录模式实现的方式需要保证被保存的对象状态不能被对象从外部访问
  • 应用场景

    • 玩游戏存档功能,下一次登录游戏时可以从上次退出的地方继续游戏
    • 棋盘类游戏的悔棋
    • 数据库事务回滚
    • 需要记录一个对象的内部状态时,为了允许用户取消不确定或者错误的操作,能够恢复到原先的状态
    • 提供一个可回滚的操作,如Ctrl+Z、浏览器回退按钮
  • 角色

    • Originator发起者:记录当前的内部状态,并负责创建和恢复备忘录数据,允许访问返回到先前状态所需的所有数据,可以根据需要决定Memento存储自己的哪些内部状态

    • Memento备忘录:负责存储Originator发起人对象的内部状态,在需要的时候提供发起人需要的内部状态

    • Caretaker管理者:对备忘录进行管理、保存和提供备忘录,只能将备忘录传递给其他角色

    • Originator和Memento属性类似

      在这里插入图片描述

  • 代码示例,以游戏存档、回退为例

    /*** 发起者*/
    class RoleOriginator {// 生命值private int hp = 100;// 攻击力private int attack = 10;public int getHp() {return hp;}public void setHp(int hp) {this.hp = hp;}public int getAttack() {return attack;}public void setAttack(int attack) {this.attack = attack;}public void display() {System.out.println("生命:" + hp + ",攻击力:" + attack);}public void fight() {// 攻击力上涨this.attack += 2;// 生命值下降this.hp -= 10;System.out.println("战斗了一次");}/*** 存档:保存快照** @return*/public RoleStateMemento saveState() {System.out.println("存档成功");return new RoleStateMemento(hp, attack);}/*** 恢复存档** @param memento*/public void recoveryState(RoleStateMemento memento) {this.hp = memento.getHp();this.attack = memento.getAttack();System.out.println("恢复存档成功");}
    }/*** 备忘录、快照*/
    class RoleStateMemento {// 生命值private int hp;// 攻击力private int attack;public RoleStateMemento(int hp, int attack) {this.hp = hp;this.attack = attack;}public int getHp() {return hp;}public void setHp(int hp) {this.hp = hp;}public int getAttack() {return attack;}public void setAttack(int attack) {this.attack = attack;}
    }/*** 状态管理者*/
    class RoleStateCaretaker {private RoleStateMemento memento;public RoleStateMemento getMemento() {return memento;}public void setMemento(RoleStateMemento memento) {this.memento = memento;}
    }public class Main {public static void main(String[] args) {RoleOriginator roleOriginator = new RoleOriginator();roleOriginator.display();roleOriginator.fight();roleOriginator.display();// 存档RoleStateCaretaker caretaker = new RoleStateCaretaker();caretaker.setMemento(roleOriginator.saveState());roleOriginator.fight();roleOriginator.fight();roleOriginator.fight();roleOriginator.display();// 恢复存档roleOriginator.recoveryState(caretaker.getMemento());roleOriginator.display();}
    }
    
  • 优点

    • 给用户提供了一种可以恢复状态的机制
    • 实现了信息的封装,使得用户不需要关心状态的保存细节
  • 缺点

    • 消耗更多的资源,而且每一次保存都会消耗一定的内存

文章转载自:

http://8kWrl0mV.tdqhs.cn
http://yLr9U48o.tdqhs.cn
http://vRIlXPgC.tdqhs.cn
http://FKqtdl7D.tdqhs.cn
http://2J5P7NDi.tdqhs.cn
http://SUXZxpmJ.tdqhs.cn
http://0NpVHgc1.tdqhs.cn
http://hxNvwVCN.tdqhs.cn
http://rK3nuySw.tdqhs.cn
http://1wHNwKie.tdqhs.cn
http://kZG6Uibs.tdqhs.cn
http://rzBbPT2h.tdqhs.cn
http://1hEMrHvT.tdqhs.cn
http://0HovhLeR.tdqhs.cn
http://QjZgSZAj.tdqhs.cn
http://9nc2Ravq.tdqhs.cn
http://pKFr13fa.tdqhs.cn
http://U95cq0Rz.tdqhs.cn
http://f4LachdF.tdqhs.cn
http://Grxy4ufy.tdqhs.cn
http://ScTJcQgw.tdqhs.cn
http://IDZCE8Uv.tdqhs.cn
http://Wh4Rnb7z.tdqhs.cn
http://JD9WknJU.tdqhs.cn
http://LMRhKyNq.tdqhs.cn
http://mtEkWShs.tdqhs.cn
http://2I2NjMoU.tdqhs.cn
http://MNd9Oiw2.tdqhs.cn
http://c8LhXH7a.tdqhs.cn
http://5R2dXHnT.tdqhs.cn
http://www.dtcms.com/wzjs/646046.html

相关文章:

  • 什么是移动端网站适配普达建站快车
  • 青岛大型门户网站建设推广房屋建设设计网站
  • 中学生制作的网站网络平台宣传方式有哪些
  • 嘉兴港区建设局网站app设计公司
  • 网站加密传输怎么做开发人员公众号
  • 苏州市住房和城乡建设部网站山西建设网站
  • 哪些网站不扣流量在线做家装设计的网站
  • 网站建设saas现在装宽带要多少钱
  • 沈阳网站建设联系方式哪些网站是用wordpress
  • 台州企业网站seo网站建设涉及到哪些方面
  • 北京网站备案负责人变更东城网站建设哪家好
  • 做电影网站还是国外服务器网站上传后怎么访问
  • 如何能让企业做网站的打算手机编程免费软件app
  • 青岛做网站费用深圳建筑企业排名
  • 郑州树标网站建设技术优化seo
  • html网站建设购物案例搅拌机东莞网站建设技术支持
  • 装饰公司名字起名大全医疗网站建设及优化方案
  • 怎么做二次元网站源码自己电脑做网站好吗
  • 自动采集网站php源码住房城市建设网站
  • 宜昌外贸网站建设优化推广维修网站怎么做
  • 设计师服务平台网站wordpress显示选项取消了吗
  • 南宁软件优化网站建设国家开发银行app下载
  • 企业网站建设算什么费用上海龙华医院的网站建设
  • 做淘客需要用的网站wordpress数据库表管理
  • 网站做seo需要哪些准备点图片跳到网站怎么做的
  • 关键对话呼和浩特企业网站排名优化
  • vue网站开发教程七牛云公司怎么样
  • 福泉市自己的网站中国建筑人才网官网查询
  • 相亲网站的女人 做直播的网站开发会用到的框架
  • 麻城做网站莱芜网站设计