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

韶关哪里做网站做旅游网站犯法吗

韶关哪里做网站,做旅游网站犯法吗,wordpress 固定链接翻译,WordPress能做门户网吗在日常开发中,我们经常会遇到这样的场景:需要保存对象的某个历史状态,以便将来恢复。这种需求最常见的例子就是“撤销操作”。在这种情况下,备忘录模式(Memento Pattern)就派上了用场。 目录 1. 概念 2. 代码实现 3. 总结 1. …

        在日常开发中,我们经常会遇到这样的场景:需要保存对象的某个历史状态,以便将来恢复。这种需求最常见的例子就是“撤销操作”。在这种情况下,备忘录模式(Memento Pattern)就派上了用场。

目录

1. 概念

2. 代码实现

3. 总结


1. 概念

        备忘录模式属于行为型设计模式。它的核心思想是:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可以将对象恢复到原先保存的状态。

        通俗点讲,备忘录模式就像是在玩游戏时存档:你保存了一个状态,之后可以随时“读档”回来。

备忘录模式包含三个关键角色:

1. Originator(发起人):需要保存状态的对象

2. Memento(备忘录):用来存储对象的内部状态

3. Caretaker(管理者):负责保存备忘录,但不会操作或检查其内容

2. 代码实现

        这里我将采用一个编辑/撤销文本的案例来实现备忘录模式。

首先我准备一个Editor类

public class Editor {private String text;public void setText(String text) {this.text = text;}public String getText() {return text;}// 保存当前状态public Memento save() {return new Memento(text);}// 恢复状态public void restore(Memento memento) {this.text = memento.getText();}// 内部备忘录类public static class Memento {private final String text;private Memento(String text) {this.text = text;}private String getText() {return text;}}
}

这里我定义了一个静态内部类即Memento类,主要作为一个备忘录,也是被记录的状态类。

接下来再定义管理者,负责管理备忘录:

import java.util.Stack;public class History {private final Stack<Editor.Memento> history = new Stack<>();public void push(Editor.Memento memento) {history.push(memento);}public Editor.Memento pop() {if (!history.isEmpty()) {return history.pop();}return null;}
}

这里我们这个管理类也基于栈来实现,其后进先出的特性可以很好的实现我们需要的写入撤销的业务逻辑。

最后完成一个主测试类:

public class MementoDemo {public static void main(String[] args) {Editor editor = new Editor();History history = new History();editor.setText("Version 1");history.push(editor.save());editor.setText("Version 2");history.push(editor.save());editor.setText("Version 3");System.out.println("当前内容: " + editor.getText()); // 输出 Version 3editor.restore(history.pop());System.out.println("撤销后: " + editor.getText()); // 输出 Version 2editor.restore(history.pop());System.out.println("再次撤销: " + editor.getText()); // 输出 Version 1}
}

3. 总结

        备忘录模式的封装良好,但其实在实际工作中用到的地方并没有很多,绝大多数的游戏服务器实现存档的功能类似备忘录模式,但是对于后端服务器业务开发过程中,此设计模式的实践并不是很多,大家可以作为了解即可。

http://www.dtcms.com/wzjs/792128.html

相关文章:

  • 网站建设立项ppt网站头部怎么做
  • 网站域名的单词商会小程序开发一个多少钱啊
  • 做蛋糕网站的优点如何利用网站做推广
  • 购物网站开发语言北京公司网站优化
  • 网站为什么要改版外贸英才网
  • 网站建设公司好哪家好大都会下载安装
  • 北京seo做排名seo编辑招聘
  • 微网站如何做推广方案网站开发培训机构哪个好
  • 新乡网站优化公司推荐美工网站设计是什么
  • 最个人网站怎样自己做网站推广
  • 彩票网站开发的风险潍坊专业网站建设价格低
  • 有帮人做网站的人吗win7优化大师免安装版
  • 给个做的网站90设计网站官网入口
  • 山西网站建设开发网络营销专业分析
  • crm网站推荐永久免费无代码开发平台下载
  • 网站设计风格有哪几种线上调研问卷在哪个网站上做
  • 手机网站实例朔州网站建设优化
  • 网站前台显示数据库指定分类怎么做php最新新闻热点事件素材2022
  • 如何做建议的网站无代码开发平台永久免费
  • 软件开发网站开发副业市场推广方案模板
  • 小学网站建设设计方案wordpress改了常规无法访问
  • wordpress建站购买网页浏览器怎么清除缓存
  • 免费搭建个人网站班级优化大师下载
  • 简洁 手机 导航网站模板下载找个网站怎么这么难
  • 企业的网站做一个要多少网站建设要学习什么
  • 优秀手机网站青海网站建设公司多少钱
  • saas 平台架构做网站网站建设的空间选择
  • 中国建设教育网关键词优化案例
  • 北京朝阳双桥网站建设网页设计总结收获和体会
  • 温州网站制作网站查网站服务器地址