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

网站备案去哪里备案seo关键词快速排名前三位

网站备案去哪里备案,seo关键词快速排名前三位,wordpress的后台文章图文发布,wordpress 更换字体说明 备忘录模式是一种行为型设计模式,通过捕获一个对象的内部状态,并在该对象之外保存这个状态,以便在需要时恢复对象到原先的状态。备忘录模式包含三个核心角色:。 发起人(Originator):负责…

说明

备忘录模式是一种行为型设计模式,通过捕获一个对象的内部状态,并在该对象之外保存这个状态,以便在需要时恢复对象到原先的状态。备忘录模式包含三个核心角色:。

  1. 发起人(Originator):负责创建一个备忘录,并记录当前对象的内部状态到备忘录中。
  2. 备忘录(Memento):负责存储发起人对象的内部状态,提供给发起人对象恢复内部状态的方法。
  3. 负责人(Caretaker):负责保存备忘录,可以使用备忘录来回滚对象的状态。

备忘录模式的核心思想是将对象的状态保存在一个独立的对象中,以便以后恢复。通过使用备忘录模式,我们可以轻松地实现对象状态的保存和恢复,同时也提高了系统的可维护性和扩展性。

优点
  • 它提供了一种可以在不破坏封装性的情况下恢复对象状态的方法。
  • 它简化了发起人对象的设计,避免了复杂的状态管理。
  • 它可以在不影响客户端的情况下实现对象的历史记录和撤销操作。
缺点
  • 需要消耗一定的内存空间来存储备忘录对象。
  • 如果发起人对象的状态非常庞大,那么备忘录对象的存储和恢复操作可能会很昂贵。
使用场景
  • 需要保存和恢复对象状态的场景,例如游戏中的存档功能、文档编辑器的撤销和恢复功能等。
  • 需要提供对象的历史记录和撤销功能的场景,例如文本编辑器中的编辑历史记录、Web浏览器中的前进和后退功能等。

示例

下面以一个游戏存档的例子来说明备忘录模式的实现。

首先,我们定义游戏类Game,其中包含当前游戏的状态信息和对状态进行修改和恢复的方法:

public class Game {private String level;private int score;public Game(String level, int score) {this.level = level;this.score = score;}public String getLevel() {return level;}public void setLevel(String level) {this.level = level;}public int getScore() {return score;}public void setScore(int score) {this.score = score;}public void printStatus() {System.out.println("当前游戏状态:level=" + level + ", score=" + score);}// 创建备忘录public Memento createMemento() {return new Memento(level, score);}// 从备忘录中恢复状态public void restoreMemento(Memento memento) {this.level = memento.getLevel();this.score = memento.getScore();}
}

然后,我们定义备忘录类Memento,用于存储游戏状态:

public class Memento {private String level;private int score;public Memento(String level, int score) {this.level = level;this.score = score;}public String getLevel() {return level;}public int getScore() {return score;}
}

最后,我们定义管理者类Caretaker,用于保存游戏状态的备忘录,并支持回溯和恢复操作:

import java.util.Stack;public class Caretaker {private Stack<Memento> mementoStack = new Stack<>();// 保存当前状态public void save(Game game) {mementoStack.push(game.createMemento());}// 回溯到上一个状态public void undo(Game game) {if (!mementoStack.isEmpty()) {game.restoreMemento(mementoStack.pop());}}// 恢复到最初状态public void reset(Game game) {mementoStack.clear();game.setLevel("简单");game.setScore(0);}
}

现在,我们可以创建游戏对象、备忘录对象和管理者对象,进行游戏状态的保存、回溯和恢复:

public class MementoExample {public static void main(String[] args) {// 创建游戏对象Game game = new Game("简单", 0);// 创建管理者对象Caretaker caretaker = new Caretaker();// 保存当前状态caretaker.save(game);// 改变游戏状态game.setLevel("普通");game.setScore(100);// 保存当前状态caretaker.save(game);// 改变游戏状态game.setLevel("困难");game.setScore(200);// 保存当前状态caretaker.save(game);// 回溯到上一个状态caretaker.undo(game);game.printStatus(); // 当前游戏状态:level=普通, score=100// 回溯到最初状态caretaker.reset(game);game.printStatus(); // 当前游戏状态:level=简单, score=0}
}

现在,我们可以创建游戏对象、备忘录对象和管理者对象,进行游戏状态的保存、回溯和恢复:

当前游戏状态:level=普通, score=100
当前游戏状态:level=简单, score=0

http://www.yayakq.cn/news/898070/

相关文章:

  • 自适应网站三套代码广州网页设计师培训班
  • 商丘网站推广的方法自己做的网站怎么接入银联支付
  • 一台服务器做两个网站吗海珠建网站的公司
  • 网站设计联系方式郑州网站建设维护
  • 网站建设公司市场策划方案网站开发运营经理
  • 免费个人网站服务器用自己的电脑做服务器弄网站
  • 济南建网站工作室网站建设与推广综合实训报告册
  • 邯郸医院网站建设望城网站建设
  • 一般网站建设步骤百度招聘
  • 没有网站做淘宝客求人做网站的网站
  • 电脑做网站用word家具定制十大名牌
  • 高端品牌网站设计公司价格网站建设包括哪些技术
  • 公司网站内容相近购物网站项目介绍
  • 网站服务器如何管理中国酒店设计网
  • 以前自己做的网站怎么样删除天津建设网站天津市地铁规划图
  • 制作一个收费网站要多少钱网页视频下载手机
  • html用表格来做网站布局自己制作网站该怎么做
  • 云服务器品牌前十大排名官网优化包括什么内容
  • 建设网站前的需求分析沈阳做网站的公司推荐
  • 上海景泰建设股份有限公司网站手机网站建设推广方案ppt
  • 网站积分规则设计国内室内设计师
  • 东莞网站优化排名互联网信息服务平台
  • 成都网站维护永兴县网站建设哪家好
  • 如何制作自己的网站页制作flash是怎么做网站的
  • 成都购物网站建设招聘网站怎么做市场
  • 机房建设 网站网站制作与发布
  • 2021国内最好用免费建站系统推广优化公司网站
  • 手机网站会员中心模板下载重庆市建设工程信息网官方
  • 网站建设与管理实验心得网站搜索引擎优化公司
  • 什么叫网站策划书网站备案文件下载