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

可以做自己的单机网站网站购买空间多少钱

可以做自己的单机网站,网站购买空间多少钱,怎么免费建商城网站吗,led网站模板目录 一.Java 备忘录模式(Memento Pattern)通俗解释 二.最简单的案例:文本编辑器的撤销功能 1.角色划分 ①原发器(Originator):文本编辑器本身,能创建备忘录和从备忘录恢复 ②备忘录&#…

目录

一.Java 备忘录模式(Memento Pattern)通俗解释

二.最简单的案例:文本编辑器的撤销功能

1.角色划分

①原发器(Originator):文本编辑器本身,能创建备忘录和从备忘录恢复

②备忘录(Memento):保存编辑器的状态(只允许原发器访问)

③负责人(Caretaker):管理备忘录(但不能修改内容)

2.代码

三.为什么要这样设计?


一.Java 备忘录模式(Memento Pattern)通俗解释

备忘录模式就像生活中的 "存档" 功能:

  • 玩游戏时,你可以存档(保存当前状态)
  • 遇到危险时,能读档(恢复到之前的状态)
  • 存档不影响游戏本身,也不会暴露游戏内部细节

它主要解决:如何在不破坏封装性的前提下,捕获和恢复对象的内部状态

二.最简单的案例:文本编辑器的撤销功能

假设我们有一个简单的文本编辑器,需要支持 "保存状态" 和 "撤销到上一个状态" 的功能。

1.角色划分

①原发器(Originator):文本编辑器本身,能创建备忘录和从备忘录恢复

②备忘录(Memento):保存编辑器的状态(只允许原发器访问)

③负责人(Caretaker):管理备忘录(但不能修改内容)

2.代码

// 1. 备忘录:保存文本状态
class TextMemento {private final String text;  // 只保存需要恢复的状态// 构造方法私有,只有原发器能创建TextMemento(String text) {this.text = text;}// 只允许原发器获取状态String getText() {return text;}
}// 2. 原发器:文本编辑器
class TextEditor {private String text = "";// 输入文本public void type(String words) {text += words;}// 保存当前状态到备忘录public TextMemento save() {return new TextMemento(text);}// 从备忘录恢复状态public void restore(TextMemento memento) {this.text = memento.getText();}// 显示当前文本public String getText() {return text;}
}// 3. 负责人:管理备忘录(这里简单用一个变量保存最近的状态)
class Caretaker {private TextMemento lastMemento;public void saveMemento(TextMemento memento) {lastMemento = memento;}public TextMemento getLastMemento() {return lastMemento;}
}// 测试代码
public class Main {public static void main(String[] args) {TextEditor editor = new TextEditor();Caretaker caretaker = new Caretaker();// 输入一些内容并保存editor.type("Hello ");caretaker.saveMemento(editor.save());  // 存档1: "Hello "// 继续输入editor.type("World!");System.out.println("当前文本: " + editor.getText());  // 输出: Hello World!// 撤销到上一次保存的状态editor.restore(caretaker.getLastMemento());System.out.println("撤销后文本: " + editor.getText());  // 输出: Hello }
}

三.为什么要这样设计?

  • 编辑器(Originator)的内部状态(text 变量)被保护起来,只有它自己能修改
  • 备忘录(TextMemento)像个 "密封的盒子",只有原发器能打开
  • 负责人(Caretaker)只负责 "保管盒子",不能看里面的内容

这个模式在需要频繁撤销操作的场景非常有用,比如:

  • 文本编辑器的撤销 / 重做
  • 游戏存档 / 读档
  • 数据库事务回滚

以上就是本篇文章的全部内容,喜欢的话可以留个免费的关注呦~~~

http://www.dtcms.com/a/413244.html

相关文章:

  • 重庆最新消息今天seo在线培训机构
  • 盐城网站建设制作方案绵阳做手机网站建设
  • 安徽网站建设系统推荐好用的浏览器
  • 食堂网站建设一般的网站需要多大的空间
  • 新手做网站的几个必要步骤led论坛网站建设
  • 苏州网站建设系统找哪家百度域名查询
  • 网站服务器和直播服务器一样吗网站图片一般多大
  • 2015年做哪个网站致富项目建设的背景怎么写
  • vs215开发python网站开发做网站月入100万
  • 常州网站建设企业梧州论坛手机红豆网
  • 西部数码网站管理助手 mysql保存路径无锡本地网站
  • 律师网站专业设计网站开发描述
  • 做网站接电话一般要会什么问题wordpress 到小程序
  • 青岛网站关键词推广安装wordpress之后
  • 做游戏的网站有哪些内容网站未经授权推广别人的产品
  • 台州h5建站网站建设与管理专业课程
  • 门户网站的特点和优势江宁网站建设方案
  • 188旅游网站管理系统6.0模板wordpress 分类缩略图
  • 做网站需要绑定电脑ip吗深圳网站创建公司
  • 重庆建设信息网站查询企业策划书目录
  • 外贸网站索引页多网页制作与设计的英文
  • 农商网站建设个人总结动漫设计学什么
  • 杭州蒙特网站建设wordpress自动提交
  • 设计师接单的十个网站杭州制作网页公司
  • 咸宁网站制作公司wordpress文章导出ghost
  • 建平台网站石家庄电力设计公司
  • daily notes[52]
  • 永康网站定制wordpress php注释
  • 做网站做图电脑需要什么配置网站html有趣代码
  • 网站建设和软件开发个人网页制作成品源代码