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

八戒网站做推广广东网页制作二级考试题目

八戒网站做推广,广东网页制作二级考试题目,2022年5月国内重大新闻,庐江魅力网做网站号码目录 1. 概念 1.1、定义 1.2、适用场景 2、角色划分 3、实现 1、Originator(发起人) 2、Memento(备忘录) 3、Caretaker(管理者) 4、使用示例 4、优缺点 4.1、优点 4.2、缺点 前言 备忘录模式是…

目录

1. 概念

1.1、定义

1.2、适用场景

2、角色划分

3、实现

1、Originator(发起人)

2、Memento(备忘录)

3、Caretaker(管理者)

4、使用示例

4、优缺点

4.1、优点

4.2、缺点


前言

        备忘录模式是一种行为型设计模式,用于在不破坏封装性的情况下保存和恢复对象的状态。它包含源发器、备忘录管理者三个角色。

        该模式常用于撤销操作,如文本编辑器的撤销功能和数据库事务管理。

        备忘录模式虽然有内存占用和性能开销的缺点,但在需要状态管理的场景中十分有用。

设计模式分类如下:


1. 概念

1.1、定义

        备忘录模式(Memento Pattern))用于在不破坏对象封装性的前提下,捕获一个对象的内部状态,并在需要时恢复这个状态(如撤销操作)。

        即允许对象把当前状态保存到外部对象中。以后可将其恢复。

1.2、适用场景

1、需要保存和恢复数据场景(如撤销、历史快照、存档、游戏进度、表单编辑器等)。

2、不希望外部对象随意访问对象内部细节,但需要保存和恢复快照。


2、角色划分

如下图所示:

  • Originator(发起人/原发器):拥有内部状态,需要保存和恢复
  • Memento(备忘录):保存Originator的状态
  • Caretaker(管理者/看护者):保存并管理备忘录,但不能操作备忘录内部实现内容


3、实现

1、Originator(发起人)

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 m) { this.text = m.getText(); }
}

2、Memento(备忘录)

class Memento {private final String text;public Memento(String text) { this.text = text; }public String getText() { return text; }
}

3、Caretaker(管理者)

import java.util.Stack;
class Caretaker {private Stack<Memento> history = new Stack<>();public void add(Memento m) { history.push(m); }public Memento undo() {if (!history.isEmpty()) return history.pop();return null;}
}

4、使用示例

public class Main {public static void main(String[] args) {Editor editor = new Editor();Caretaker caretaker = new Caretaker();editor.setText("第一版");caretaker.add(editor.save());editor.setText("第二版");caretaker.add(editor.save());editor.setText("第三版");// 撤销到第二版editor.restore(caretaker.undo());System.out.println(editor.getText()); // 输出 第二版// 再撤销editor.restore(caretaker.undo());System.out.println(editor.getText()); // 输出 第一版}
}

4、优缺点

4.1、优点

1、状态保存与恢复:

        备忘录模式可以帮助我们保存对象的状态,并在需要时恢复到之前的状态。这在某些情况下非常有用,比如撤销操作或者程序崩溃后的恢复。

2、封装性和隔离性:

        可以确保对象的状态保存在备忘录对象中,而不会暴露给其他对象。这为对象的封装性和隔离性提供了保护,使得对象的状态变化对其他对象是透明的。


4.2、缺点

1、内存占用:

        可能引起较大的内存占用,特别是当对象的状态较多且状态改变频繁时。每个备忘录对象都需要保存一份完整的状态,如果状态较多或者备忘录对象较多,可能会消耗大量内存。

2、性能开销:

        备忘录模式涉及到创建、存储和恢复状态的操作,这些操作可能引起一定的性能开销。特别是在状态较大或者对象较复杂的情况下,备忘录模式的性能可能会受到影响。


总结:


参考文章:

1、设计模式(十九)行为型:备忘录模式详解-CSDN博客文章浏览阅读443次,点赞19次,收藏21次。备忘录模式(Memento Pattern)是 GoF 23 种设计模式中的行为型模式之一,其核心价值在于在不破坏封装性的前提下,捕获并外部化一个对象的内部状态,以便在之后能够将该对象恢复到原先保存的状态。 https://blog.csdn.net/ZxqSoftWare/article/details/149712206?ops_request_misc=%257B%2522request%255Fid%2522%253A%252299945c753ba5cd13ba1abf9c2213f646%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=99945c753ba5cd13ba1abf9c2213f646&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-2-149712206-null-null.142^v102^control&utm_term=%E5%A4%87%E5%BF%98%E5%BD%95%E6%A8%A1%E5%BC%8F&spm=1018.2226.3001.4187

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

相关文章:

  • 手机网站建设价格明细表wordpress内容关键字
  • 教育政务网站建设什么网站做任务
  • 广州白云住房和建设局网站外贸做包装袋哪个网站好
  • 济南网站的建设软件开发包含网站开发
  • 遂昌建设局网站网站域名年龄查询
  • 手机网站排名优化网站建设公司生存现状
  • 移动网站推广如何优化如何访问自己建的网站
  • 龙凤网站建设云聚达wordpress 主机什么系统
  • 为第三方网站做推广协会网站建设目的
  • 工商网站官网入口梵克雅宝为什么那么贵
  • 网站内页要不要加上关键词和描述wordpress主题插件免费下载
  • 韩国设计交流网站广水住房和城乡建设部网站
  • 精湛的合肥网站建设机关网站建设创新
  • 有哪些做统计销量的网站在建设主题网站时
  • 嘉兴网站备案去哪里深圳蚂蚁网络
  • 长春网站建站做网站学好哪些软件
  • 深圳专业做网站的公司有哪些php网站开发 课程介绍
  • 建安证查询网站ui设计培训机构好
  • 长春哪里做网站好wordpress 未能连接到ftp服务器
  • 网站建设运营策划方案element ui做门户网站
  • 长江商学院 网站建设泉州seo网站建设费用
  • 英文版网站建设方案杭州制作企业公司网站
  • 汕头市网站建设分站公司虚拟币充值 wordpress
  • 医疗设计网站网站首页图片代码
  • 网站设计汕头wordpress时间设置
  • 网站制作长春成都网站建设费用
  • 做电商怎么建网站sever2012做网站
  • 注册网站怎么注册不了建设培训考试服务网站
  • 电商网站开发哪家好产品ui设计是什么
  • 网站备案都有哪些国外设计公司名字