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

手机免费网站制作seo顾问是什么职业

手机免费网站制作,seo顾问是什么职业,markdown 与wordpress,网站建设网络公司备忘录模式(Memento Pattern)是一种行为设计模式,用于捕获对象的内部状态并在需要时恢复该状态,同时不破坏对象的封装性。它适用于需要实现撤销/重做、历史记录或状态快照的场景。核心组件Originator(原发器&#xff0…

备忘录模式(Memento Pattern)是一种行为设计模式,用于捕获对象的内部状态并在需要时恢复该状态,同时不破坏对象的封装性。它适用于需要实现撤销/重做、历史记录或状态快照的场景。

核心组件
  1. Originator(原发器)

    • 需要保存状态的对象
    • 提供创建备忘录和恢复状态的方法
    • 示例代码:
      public class TextEditor {private String content;public void write(String text) {this.content = text;}// 创建备忘录public TextMemento save() {return new TextMemento(content);}// 从备忘录恢复public void restore(TextMemento memento) {this.content = memento.getSavedContent();}
      }
      

  2. Memento(备忘录)

    • 存储 Originator 的内部状态
    • 通常设计为不可变对象
    • 示例代码:
      public final class TextMemento {private final String content;public TextMemento(String content) {this.content = content;}// 仅允许原发器访问String getSavedContent() {return content;}
      }
      

  3. Caretaker(管理者)

    • 负责保存和管理备忘录
    • 不能修改备忘录内容
    • 示例代码:
      import java.util.Stack;public class History {private final Stack<TextMemento> states = new Stack<>();public void saveState(TextMemento state) {states.push(state);}public TextMemento getLastState() {return states.pop();}
      }
      

工作流程
graph LRA[Originator] -- 创建 --> B[Memento]B -- 存储 --> C[Caretaker]C -- 提供 --> AA -- 恢复状态 --> B

关键特性
  1. 封装保护

    • Memento 通过私有访问控制保护状态
    • Caretaker 只能存储备忘录,不能修改内容
  2. 状态管理

    • 支持多级撤销:使用栈结构存储历史状态
    • 状态隔离:每个备忘录独立存储对象快照
  3. 内存优化

    • 增量存储:仅保存变化部分
    • 懒加载:需要时再生成备忘录
适用场景
  • 需要实现撤销/重做功能(如文本编辑器)
  • 需要保存对象历史状态(如游戏存档)
  • 需要隔离状态生成和存储逻辑
优缺点分析

优点

  • 保持对象封装边界
  • 简化原发器职责(SRP原则)
  • 支持多状态管理

缺点

  • 可能增加内存消耗
  • Caretaker 需维护生命周期
  • 频繁保存可能影响性能
扩展实现
// 客户端使用示例
public class Client {public static void main(String[] args) {TextEditor editor = new TextEditor();History history = new History();editor.write("First draft");history.saveState(editor.save());  // 保存状态1editor.write("Revised content");history.saveState(editor.save());  // 保存状态2editor.restore(history.getLastState()); // 撤销到状态1}
}

设计建议

  1. 对大型对象使用增量备忘录
  2. 通过接口约束备忘录访问权限
  3. 结合原型模式优化状态克隆性能
  4. 使用对象池管理频繁创建的备忘录
http://www.dtcms.com/wzjs/288825.html

相关文章:

  • 赣榆城乡建设局网站软件开发公司
  • 企业建站有哪些步骤成品网站1688入口网页版
  • 公司微网站制作网址之家大全
  • 北京微信公众号定制开发seo技术网网
  • 一个网页大概多少钱seo 工具
  • 信云科技的vps怎么做网站百度免费
  • 网站后台怎么做下载链接无代码建站
  • 网站怎么做透明导航栏软件开发培训学校
  • 地方政府网站建设标准百度站长工具seo综合查询
  • 建设网站租用空间海口网站建设
  • 网站后台是怎么做的中文域名的网站
  • 织梦怎么做单页网站百度搜索大数据查询
  • wordpress 信息采集银川网站seo
  • 建网站怎么备案百度竞价调价软件
  • 加强 网站群建设管理广东全网推广
  • 六安公共招聘网河南百度关键词优化排名软件
  • 做mod游戏下载网站免费友情链接网页
  • 做网站考什么赚钱公司的seo是什么意思
  • 网络营销专业主修课程seo优化资源
  • 赣州网站制作培训企业网站推广策划书
  • 自治区建设厅网站百度seo排名点击器
  • 网站手机端制作软件国外搜索引擎
  • 利用wordpress短代码插入无广告的优酷视频宁波seo网络推广推荐
  • thinkphp做网站百度seo新规则
  • 淮南网站网站建设网络营销sem培训
  • 重庆网站建设必选承越海口关键词优化报价
  • 外贸soho网站建设全网营销推广 好做吗
  • 做社交的招聘网站枸橼酸西地那非片是什么
  • 游戏网站建设一条龙搜外
  • 商城网站建设系统指数基金有哪些