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

做动效很好的网站大数据营销案例

做动效很好的网站,大数据营销案例,卖房网站母亲节做什麽活动,wordpress 建表Java 备忘录模式(Memento Pattern)详解 🧠 什么是备忘录模式? 备忘录模式是一种行为型设计模式,它允许在不暴露对象实现细节的情况下,保存和恢复对象的状态。备忘录模式常常用于需要记录对象状态以便随时…

Java 备忘录模式(Memento Pattern)详解

🧠 什么是备忘录模式?

备忘录模式是一种行为型设计模式,它允许在不暴露对象实现细节的情况下,保存和恢复对象的状态。备忘录模式常常用于需要记录对象状态以便随时恢复的场景,如实现撤销操作、版本控制等。


🎯 使用场景

  • 需要保存对象的状态,以便以后恢复
  • 支持对象的撤销功能
  • 对象的状态改变需要被保存,且不希望暴露给外部

🏗️ 模式结构

  • Memento(备忘录):存储对象的内部状态,可以将状态保存在对象中
  • Originator(发起人):创建备忘录,保存当前的内部状态,并可以恢复到先前保存的状态
  • Caretaker(看护者):负责保存备忘录,但不能修改备忘录的内容,仅能调用恢复功能

✅ 示例:编辑器撤销操作

备忘录类

public class Memento {private String state;public Memento(String state) {this.state = state;}public String getState() {return state;}
}

发起人类

public class Editor {private String content;public void setContent(String content) {this.content = content;}public String getContent() {return content;}public Memento saveState() {return new Memento(content);}public void restoreState(Memento memento) {this.content = memento.getState();}
}

看护者类

import java.util.ArrayList;
import java.util.List;public class Caretaker {private List<Memento> mementoList = new ArrayList<>();public void addMemento(Memento memento) {mementoList.add(memento);}public Memento getMemento(int index) {return mementoList.get(index);}
}

客户端

public class Client {public static void main(String[] args) {Editor editor = new Editor();Caretaker caretaker = new Caretaker();editor.setContent("Hello");caretaker.addMemento(editor.saveState());  // 保存当前状态editor.setContent("Hello, World!");caretaker.addMemento(editor.saveState());  // 保存新状态System.out.println("Current Content: " + editor.getContent());  // 输出:Hello, World!editor.restoreState(caretaker.getMemento(0));  // 恢复到旧状态System.out.println("Restored Content: " + editor.getContent());  // 输出:Hello}
}

✅ 优点

  • 可以保存和恢复对象的状态,支持撤销操作
  • 发起人对象不需要暴露其内部实现细节
  • 备忘录对象是只读的,不可以修改,有助于封装状态

⚠️ 缺点

  • 如果备忘录保存了过多的状态,可能会占用大量内存
  • 增加了类的数量,导致系统复杂度增加

🧩 使用建议

备忘录模式适合需要记录对象状态并支持恢复功能的场景,如文本编辑器的撤销操作、游戏的存档功能等。

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

相关文章:

  • 网站域名是啥百度宁波营销中心
  • 网站改版不换域名怎么做成都自动seo
  • 公司网站改版网站网络营销推广
  • 海南省建设注册中心网站网络营销推广的5种方法
  • 视频网站切片怎么做免费推广方式都有哪些
  • 上海柘中建设股份有限公司网站一键注册所有网站
  • 企业网站建设推广公司网红推广团队去哪里找
  • 义乌外贸网站制作百度首页网址
  • 网站制作的流程包括网页搜索
  • ih5做的网站怎么上传元搜索引擎有哪些
  • wordpress数据库内容搬家怎么做关键词优化排名
  • 百度网站的优点最新的疫情情况
  • 成都网站建设cdcidi百度百科词条入口
  • 机关党建网站建设策划虎门今日头条新闻
  • 自己做发卡网站长网络广告投放网站
  • 凯里建设网站怎么创建网站?
  • 国内外知名建设设计网站昆明优化网站公司
  • 做的好的招投标网站网络推广网站的方法
  • 做网站有一行一行写代码的吗百度指数的网址是什么
  • 长春网站seo报价东莞搜索引擎推广
  • 做网站运营好还是SEO好网页设计与制作项目教程
  • 自建网站做电商最有效的线上推广方式
  • jsp做的网站源码全媒体运营师报考官网在哪里
  • 地方生活门户网站友链交换网站
  • 苏州建设局网站首页商务网站如何推广
  • 如何用自己公司网站做邮箱百度小说排行榜2021
  • 聊城网站营销色盲图
  • 网站 审批号推广普通话的手抄报
  • 怎样建立自己的网站站长工具关键词挖掘
  • wordpress页面展示插件龙岩seo