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

阿里妈妈怎么做网站推广推广引流图片

阿里妈妈怎么做网站推广,推广引流图片,提供做网站企业,网站的下拉列表怎么做的软件设计模式(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.hkea.cn/news/628895/

相关文章:

  • 成品软件源码网站大全百度权重10的网站
  • 深圳手机网站建设多少钱外链代发软件
  • 璧山集团网站建设互联网推广营销
  • 平面设计网址推荐全国seo搜索排名优化公司
  • 青岛公路建设集团网站东莞排名优化团队
  • 北京公司响应式网站建设价位太原网站建设开发
  • 龙岩网络诈骗通缉人员优化推广方案
  • 专做海外代购的网站设计案例网
  • 漳州网站设计东莞网站制作模板
  • 制作应用的软件成都排名seo公司
  • 北京专业企业网站建设俄罗斯搜索引擎入口 yandex
  • wordpress 怎么改中文网站推广优化价格
  • 南山做网站公司怎么选择企业seo优化服务
  • 什么 电子商务网站建设与管百度招商加盟
  • 南召微网站开发手机优化大师官方版
  • 营销型网站技术特点网站推广网
  • 龙游县住房和城乡建设局网站百度seo优化方法
  • 深圳方维网站建设设计个人网站
  • wordpress 流量站百度应用
  • ps素材网seo在线工具
  • 岳阳网站开发公司html网站模板免费
  • 怎样用模板做网站优化网站技术
  • 全国新型疫情最新情况长沙网站搭建优化
  • 郑州网站建设规划seo建站教程
  • 购物网站 购物车界面如何做百度搜索网
  • 推广网站的图片怎么做外贸平台
  • 新手如何给自己的网站做优化bt种子磁力搜索
  • 成都学校网站制作遵义网站seo
  • d?t网站模版宁波seo在线优化哪家好
  • c做的网站淄博做网站的公司