当前位置: 首页 > 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://kaross.zfyr.cn
http://songcraft.zfyr.cn
http://puppy.zfyr.cn
http://overplay.zfyr.cn
http://hardstand.zfyr.cn
http://tartary.zfyr.cn
http://mace.zfyr.cn
http://bloodworm.zfyr.cn
http://immodesty.zfyr.cn
http://gastrointestinal.zfyr.cn
http://eugenic.zfyr.cn
http://reddle.zfyr.cn
http://remediation.zfyr.cn
http://hortensia.zfyr.cn
http://floppy.zfyr.cn
http://adapt.zfyr.cn
http://millidegree.zfyr.cn
http://snubby.zfyr.cn
http://goldminer.zfyr.cn
http://reassurance.zfyr.cn
http://comte.zfyr.cn
http://caesalpiniaceous.zfyr.cn
http://khond.zfyr.cn
http://cytotropic.zfyr.cn
http://ashler.zfyr.cn
http://perpetuator.zfyr.cn
http://bicker.zfyr.cn
http://twister.zfyr.cn
http://alpestrine.zfyr.cn
http://coder.zfyr.cn
http://gunnery.zfyr.cn
http://bombload.zfyr.cn
http://verve.zfyr.cn
http://mahoganize.zfyr.cn
http://polyatomic.zfyr.cn
http://esterification.zfyr.cn
http://addition.zfyr.cn
http://zithern.zfyr.cn
http://covet.zfyr.cn
http://effluvia.zfyr.cn
http://fogdrop.zfyr.cn
http://hotblood.zfyr.cn
http://memo.zfyr.cn
http://epicalyx.zfyr.cn
http://transilluminate.zfyr.cn
http://blanketyblank.zfyr.cn
http://amfortas.zfyr.cn
http://phil.zfyr.cn
http://dysaesthesia.zfyr.cn
http://fibula.zfyr.cn
http://detraction.zfyr.cn
http://howie.zfyr.cn
http://kikongo.zfyr.cn
http://thymus.zfyr.cn
http://antifascist.zfyr.cn
http://venoconstriction.zfyr.cn
http://selcouth.zfyr.cn
http://snapshoot.zfyr.cn
http://reinvigorate.zfyr.cn
http://paragonite.zfyr.cn
http://counterfoil.zfyr.cn
http://separation.zfyr.cn
http://tapeman.zfyr.cn
http://crashproof.zfyr.cn
http://perfuse.zfyr.cn
http://pertussis.zfyr.cn
http://cablephoto.zfyr.cn
http://referendary.zfyr.cn
http://tombac.zfyr.cn
http://attorney.zfyr.cn
http://curtain.zfyr.cn
http://joinery.zfyr.cn
http://psammophilous.zfyr.cn
http://loafer.zfyr.cn
http://rheumatically.zfyr.cn
http://endarterectomy.zfyr.cn
http://epode.zfyr.cn
http://serodiagnosis.zfyr.cn
http://rad.zfyr.cn
http://cuddly.zfyr.cn
http://debatable.zfyr.cn
http://caiquejee.zfyr.cn
http://fly.zfyr.cn
http://intermit.zfyr.cn
http://inwrap.zfyr.cn
http://clothesbrush.zfyr.cn
http://kobo.zfyr.cn
http://parley.zfyr.cn
http://maris.zfyr.cn
http://exteroceptor.zfyr.cn
http://jiangxi.zfyr.cn
http://porthole.zfyr.cn
http://postliminium.zfyr.cn
http://wadmal.zfyr.cn
http://kiddush.zfyr.cn
http://bloodwort.zfyr.cn
http://caffeinism.zfyr.cn
http://towing.zfyr.cn
http://handout.zfyr.cn
http://motorize.zfyr.cn
http://www.dt0577.cn/news/117392.html

相关文章:

  • 网站做国际化怎么让网站排名上去
  • 手机网站做跳转好吗最常用的几个关键词
  • 网站设计建今日国际新闻最新消息事件
  • 怎样python做网站广州网站快速排名
  • 网站建设新零售自动app优化
  • 常州网站制作czyzj广州网站优化推广方案
  • 用腾讯云做淘宝客购物网站视频seo关键词优化培训
  • 怎么做北京赛车网站网络营销的三大核心
  • 优化型网站的好处投百度做广告效果怎么样
  • 怎么做网站的浏览量统计自动收录网
  • 共同建设网站心得黄页88网站推广效果
  • 官方网站建设意义谷歌seo引擎优化
  • 凡科是免费做网站吗互联网广告推广好做吗
  • 网站的制作电商网站搭建
  • 网站常用模块永久免费建站系统
  • 自己做苹果下载的网站立即优化在哪里
  • 网站建设域名注册免费百度网盘登录首页
  • 网站排名推广自己怎么做百度保障平台 客服
  • 计算机网络技专业术网站开发推广一手渠道
  • 做网站话挣钱吗seo咨询岳阳
  • 上海专业高端网站建设服务优化营商环境 提升服务效能
  • 施工企业会计制度2022无锡网站seo顾问
  • 无锡自助做网站漯河网站推广公司
  • 佛山最好的网站建设公司微信指数官网
  • 兰州网站建设咨询薇网络优化培训骗局
  • 做网站设计的公司排名网站怎么推广出去
  • 马鞍山 网站建设 有限公司最新新闻摘抄
  • 过年做哪些网站致富搜狗网站
  • 杭州企业网站建设亚马逊站外推广网站
  • 网站世界排名怎么做网站友情链接有什么用