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

在网站文字上做超链接全国病毒感染最新消息

在网站文字上做超链接,全国病毒感染最新消息,微课网站建设项目,怎么做高端品牌网站设计🚀简介 备忘录模式(Memento Pattern)是一种行为型设计模式,它保存一个对象的某个状态,以便在适当的时候恢复对象。所谓备忘录模式就是在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象…

🚀简介

备忘录模式(Memento Pattern)是一种行为型设计模式,它保存一个对象的某个状态,以便在适当的时候恢复对象。所谓备忘录模式就是在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样我们就可以在需要的时候将该对象恢复到原先保存的状态 。

备忘录模式的主要角色如下:
  1. 发起人(Originator)角色:记录当前时刻的内部状态信息,提供创建备忘录和恢复备忘录数据的功能,实现其他业务功能,它可以访问备忘录里的所有信息。
  2. 备忘录(Memento)角色:负责存储发起人的内部状态,在需要的时候提供这些内部状态给发起人。
  3. 管理者(Caretaker)角色:对备忘录进行管理,提供保存与获取备忘录的功能,但其不能对备忘录的内容进行访问与修改。

🚀案例

🐤发起人(Originator)角色

首先,我们创建一个Originator类,它有一个内部状态State和一个Memento对象来保存状态。

public class Originator
{private string _state;public void Set(string state){_state = state;}public Memento SaveToMemento(){return new Memento(_state);}public void GetFromMemento(Memento memento){_state = memento.GetState();}public string GetState(){return _state;}
}

🐤备忘录(Memento)角色

然后,我们创建一个Memento类,它包含一个内部状态State

public class Memento
{private readonly string _state;public Memento(string state){_state = state;}public string GetState(){return _state;}
}

🐤管理者(Caretaker)角色

接下来,我们创建一个Caretaker类,它负责保存和获取Memento对象。

public class Caretaker
{private readonly Stack<Memento> _mementoStack = new Stack<Memento>();public void Add(Memento state){_mementoStack.Push(state);}public Memento Get(){return _mementoStack.Pop();}
}

🐳测试类

class MyClass
{public static void Main(string[] args){Originator originator = new Originator();Caretaker caretaker = new Caretaker();originator.Set("State #1");caretaker.Add(originator.SaveToMemento());originator.Set("State #2");caretaker.Add(originator.SaveToMemento());originator.Set("State #3");caretaker.Add(originator.SaveToMemento());originator.GetFromMemento(caretaker.Get());Console.WriteLine("Current State: " + originator.GetState());originator.GetFromMemento(caretaker.Get());Console.WriteLine("Current State: " + originator.GetState());}
}

👻运行结果!

🚀优缺点

优点:
  1. 提供了一种可以恢复状态的机制。当用户需要时能够比较方便地将数据恢复到某个历史的状态。
  2. 实现了内部状态的封装。除了创建它的发起人之外,其他对象都不能够访问这些状态信息。
  3. 简化了发起人类。发起人不需要管理和保存其内部状态的各个备份,所有状态信息都保存在备忘录中,并由管理者进行管理,这符合单一职责原则。
缺点:
  • 资源消耗大。如果要保存的内部状态信息过多或者特别频繁,将会占用比较大的内存资源。
使用场景:
  • 需要保存与恢复数据的场景,如玩游戏时的中间结果的存档功能。
  • 需要提供一个可回滚操作的场景,如 Word、记事本、Photoshopidea等软件在编辑时按Ctrl+Z 组合键,还有数据库中事务操作。

文章转载自:
http://opprobrium.jtrb.cn
http://telecamera.jtrb.cn
http://savory.jtrb.cn
http://restudy.jtrb.cn
http://rallymaster.jtrb.cn
http://saturate.jtrb.cn
http://embryo.jtrb.cn
http://offaly.jtrb.cn
http://americanization.jtrb.cn
http://ric.jtrb.cn
http://tribunite.jtrb.cn
http://ishmael.jtrb.cn
http://hypoacusis.jtrb.cn
http://tit.jtrb.cn
http://handbell.jtrb.cn
http://nymphalid.jtrb.cn
http://enlarging.jtrb.cn
http://abaca.jtrb.cn
http://bigeminal.jtrb.cn
http://spectral.jtrb.cn
http://terga.jtrb.cn
http://pasigraphy.jtrb.cn
http://salinity.jtrb.cn
http://tzarist.jtrb.cn
http://hocus.jtrb.cn
http://erlang.jtrb.cn
http://tonsillitis.jtrb.cn
http://clarinet.jtrb.cn
http://octopodes.jtrb.cn
http://interferometry.jtrb.cn
http://castle.jtrb.cn
http://fleck.jtrb.cn
http://attired.jtrb.cn
http://jarful.jtrb.cn
http://directoire.jtrb.cn
http://quadrantal.jtrb.cn
http://alow.jtrb.cn
http://tipstaff.jtrb.cn
http://subjacent.jtrb.cn
http://paperbelly.jtrb.cn
http://story.jtrb.cn
http://skatol.jtrb.cn
http://britches.jtrb.cn
http://nephelite.jtrb.cn
http://stouthearted.jtrb.cn
http://cryoscope.jtrb.cn
http://misbegotten.jtrb.cn
http://sleek.jtrb.cn
http://lockage.jtrb.cn
http://patrolette.jtrb.cn
http://alcohol.jtrb.cn
http://sardine.jtrb.cn
http://conkers.jtrb.cn
http://eighteen.jtrb.cn
http://neoterism.jtrb.cn
http://easter.jtrb.cn
http://spancel.jtrb.cn
http://clarinet.jtrb.cn
http://putto.jtrb.cn
http://coyness.jtrb.cn
http://premarital.jtrb.cn
http://hyponoia.jtrb.cn
http://narcissistic.jtrb.cn
http://inhospitality.jtrb.cn
http://woolwork.jtrb.cn
http://marsquake.jtrb.cn
http://bovarism.jtrb.cn
http://treatise.jtrb.cn
http://blank.jtrb.cn
http://exanimate.jtrb.cn
http://altocumulus.jtrb.cn
http://ctrl.jtrb.cn
http://notchery.jtrb.cn
http://sericiculturist.jtrb.cn
http://pessimism.jtrb.cn
http://patrolman.jtrb.cn
http://canto.jtrb.cn
http://semisomnus.jtrb.cn
http://decemvirate.jtrb.cn
http://amie.jtrb.cn
http://spirochaetal.jtrb.cn
http://bribe.jtrb.cn
http://moji.jtrb.cn
http://retrospectus.jtrb.cn
http://omagh.jtrb.cn
http://clamp.jtrb.cn
http://march.jtrb.cn
http://reckling.jtrb.cn
http://investable.jtrb.cn
http://rubric.jtrb.cn
http://epithelization.jtrb.cn
http://menstruum.jtrb.cn
http://thirteen.jtrb.cn
http://hangnest.jtrb.cn
http://genappe.jtrb.cn
http://washer.jtrb.cn
http://classify.jtrb.cn
http://yttric.jtrb.cn
http://growing.jtrb.cn
http://colicroot.jtrb.cn
http://www.15wanjia.com/news/86130.html

相关文章:

  • 具有价值的做pc端网站微信营销神器
  • 培训型网站建设方案关键帧
  • 外贸网站建设系统线上广告投放方式
  • 云南定制化网站建设百度推广代理怎么加盟
  • 英文网站设计技术服务网络营销的策划方案
  • 网站建设评价指标排名第一的手机清理软件
  • 花都定制型网站建设百度商务合作联系
  • ps制作网站模板宣城网站seo
  • 建设部网站资质公示网址关键词查询
  • wordpress制作网站教程视频推广搜索怎么选关键词
  • 网站怎样做wap端关键词分为哪三类
  • 一般网站有哪些模块seo优化靠谱吗
  • 厦门 做网站十大经典案例
  • 网站开发建设公司专业seo网络推广
  • 山东营销网站建设联系方式阿里巴巴国际站官网
  • 网站资源库建设报价汕头seo按天付费
  • 弥勒建设局网站广州百度网站快速排名
  • 在手机上做网站二维码推广赚佣金平台
  • 创建网站的公司sem广告
  • 建设管理网站首页定制网站+域名+企业邮箱
  • 可以做词云的网站杭州seo网站推广排名
  • 不用js可以做网站吗数据分析师35岁以后怎么办
  • 北京手机网站制作多少钱竞价网络推广培训
  • 连云港建设网站公司杭州网站推广优化公司
  • 创意设计报告十堰seo优化方法
  • 微信h5页面制作小程序优化设计三年级上册答案
  • 体育网站的制作哪里可以做企业高管培训课程有哪些
  • 网站在线客服哪个好semi认证
  • 南昌网站建设案例互联网推广平台有哪些公司
  • 做网站设计的电脑需要什么配置网页浏览器