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

iis 网站显示建设中北京云无限优化

iis 网站显示建设中,北京云无限优化,做网站要会那些ps,中国建设银行湖南分行官网站软件设计模式(Design pattern),又称设计模式,是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性、程序的重用性。 汇总目录链接&…

软件设计模式(Design pattern),又称设计模式,是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性、程序的重用性。

汇总目录链接:【玩转23种Java设计模式】学习目录汇总整理

文章目录

  • 一、简介
  • 二、实例
    • 1、文本编辑器(TextEditor)
    • 2、管理者(Caretaker)
    • 3、客户端(MementoPatternExample)
  • 三、总结
    • 1、优点
    • 2、缺点
    • 3、应用场景

一、简介

  备忘录模式(Memento Pattern)是一种行为型设计模式,用于保存对象的状态,以便在未来可以恢复到之前的某个状态。该模式避免了直接暴露对象的内部状态,从而实现了数据的封装性。

主要角色:

  • Originator(发起人):创建并存储自身状态到备忘录中,可以从备忘录中恢复状态。
  • Memento(备忘录):存储发起人的状态,提供给发起人恢复状态的接口。
  • Caretaker(管理者):负责保存和管理备忘录,但不能操作备忘录内容。

二、实例

例如:模拟文本编辑器中“撤销”操作的实现。

1、文本编辑器(TextEditor)

class TextEditor {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();}// Memento:备忘录内部类static class Memento {private final String text;private Memento(String text) {this.text = text;}private String getText() {return text;}}
}

2、管理者(Caretaker)

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

3、客户端(MementoPatternExample)

public class MementoPatternExample {public static void main(String[] args) {TextEditor editor = new TextEditor();Caretaker caretaker = new Caretaker();// 初始状态editor.setText("Hello");System.out.println("Initial Text: " + editor.getText());caretaker.addMemento(editor.save());// 修改状态1editor.setText("Hello, World");System.out.println("Updated Text: " + editor.getText());caretaker.addMemento(editor.save());// 修改状态2editor.setText("Hello, Design Patterns");System.out.println("Updated Text: " + editor.getText());caretaker.addMemento(editor.save());// 撤销操作editor.restore(caretaker.getMemento(1));System.out.println("After Undo: " + editor.getText());// 再次撤销editor.restore(caretaker.getMemento(0));System.out.println("After Second Undo: " + editor.getText());}
}

三、总结

1、优点

  • 封装性好:发起人和备忘录内部状态的实现细节对外界透明,保证了对象的封装性。
  • 状态恢复:可以轻松保存和恢复对象的状态,适合需要频繁回退操作的场景。
  • 灵活性高:支持保存多个状态,提供多种恢复方式。

2、缺点

  • 资源消耗大:如果状态对象较大或需要保存的状态很多,可能会消耗较多内存。
  • 管理复杂:需要一个管理机制来保存和恢复状态,增加了系统复杂性。

3、应用场景

  • 撤销和重做功能:如文本编辑器、图形编辑器。
  • 游戏存档:在游戏中保存和恢复玩家的进度。
  • 事务性操作:在操作失败时可以回滚到之前的状态。
  • 状态恢复:适用于需要频繁切换对象状态的场景。
http://www.tj-hxxt.cn/news/69094.html

相关文章:

  • wordpress页面能用js吗沈阳seo
  • 滨海住房和城乡建设局网站安康seo
  • 中国万网网站空间申请网站建设纯免费官网
  • 做网站什么语言好东莞网站推广技巧
  • 合肥网站建站报广告代理品牌推广的三个阶段
  • 专业建站推荐南宁seo内部优化
  • 临沂网站建设选盛誉网络营销课程有哪些
  • 成都幼儿园网站建设本周国内重大新闻十条
  • 南宁手机平台网网站建设传统营销与网络营销的区别
  • 从手机上可以做网站吗跨境电商平台哪个最好最可靠
  • 网站代理合作全网营销策划公司
  • 网页设计的最佳尺寸关键词优化公司靠谱推荐
  • 网络销售模式 自建网站seo推广要多少钱
  • 如何查询网站收录情况哪里有免费的网站推广服务
  • 个人社保缴费比例是多少淘宝seo对什么内容优化
  • 网上做网站怎么赚钱吗信息流优化师前景
  • 做网站vpn多大内存bing搜索引擎下载
  • 优秀的网站设计目前小说网站排名
  • 在线做家装设计的网站深圳网络推广外包公司
  • 怎么自己做购物网站手机百度app安装下载
  • 网站布局内容2023年最新新闻简短摘抄
  • 网站建设到上线的步骤过程优化大师优化项目有
  • dw怎么做滚动视差的网站网店代运营骗局流程
  • 公益网站怎么做友链提交入口
  • 自己做的网站打开是乱码宁波seo推荐推广平台
  • 东莞网约车资格证官网登录入口百度关键词优化公司
  • 个人网站设计摘要域名查询ip138
  • 做钢材生意一般做什么网站好长沙网站外包公司
  • 临沂网站建设方案书百度推广
  • 建设通官网通seo在哪可以学