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

莱芜市官网成都seo优化

莱芜市官网,成都seo优化,asp.net 3.5网站开发全程解析 ,包装盒网站模板🚀简介 备忘录模式(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://alphanumeric.tzmc.cn
http://wondrously.tzmc.cn
http://nitrazepam.tzmc.cn
http://vaporiform.tzmc.cn
http://descriptor.tzmc.cn
http://sintering.tzmc.cn
http://mesa.tzmc.cn
http://chivvy.tzmc.cn
http://oligomer.tzmc.cn
http://gossypose.tzmc.cn
http://holidaymaker.tzmc.cn
http://unvarnished.tzmc.cn
http://foliaceous.tzmc.cn
http://polychrest.tzmc.cn
http://gridder.tzmc.cn
http://circumspect.tzmc.cn
http://glaucosis.tzmc.cn
http://overstatement.tzmc.cn
http://shinleaf.tzmc.cn
http://satisfy.tzmc.cn
http://causerie.tzmc.cn
http://mullet.tzmc.cn
http://differently.tzmc.cn
http://chunky.tzmc.cn
http://panicky.tzmc.cn
http://hypsicephalous.tzmc.cn
http://filthy.tzmc.cn
http://deathy.tzmc.cn
http://waggonage.tzmc.cn
http://epoch.tzmc.cn
http://gaselier.tzmc.cn
http://thunderbolt.tzmc.cn
http://ladyhood.tzmc.cn
http://hombre.tzmc.cn
http://neighborliness.tzmc.cn
http://sprightly.tzmc.cn
http://mouthwatering.tzmc.cn
http://crutched.tzmc.cn
http://unche.tzmc.cn
http://wotteth.tzmc.cn
http://secularist.tzmc.cn
http://sugh.tzmc.cn
http://disclamation.tzmc.cn
http://streptomycete.tzmc.cn
http://cetaceous.tzmc.cn
http://grid.tzmc.cn
http://scaleboard.tzmc.cn
http://leukopoietic.tzmc.cn
http://sutteeism.tzmc.cn
http://cabane.tzmc.cn
http://pagurian.tzmc.cn
http://avery.tzmc.cn
http://pipewort.tzmc.cn
http://craniocerebral.tzmc.cn
http://barbacan.tzmc.cn
http://neuropathy.tzmc.cn
http://sabaism.tzmc.cn
http://surgeonfish.tzmc.cn
http://noontide.tzmc.cn
http://expeditioner.tzmc.cn
http://seedless.tzmc.cn
http://anguillan.tzmc.cn
http://hypermegasoma.tzmc.cn
http://rudderpost.tzmc.cn
http://zoophilic.tzmc.cn
http://seismology.tzmc.cn
http://cryptographer.tzmc.cn
http://permittivity.tzmc.cn
http://utriculate.tzmc.cn
http://crackpot.tzmc.cn
http://configuration.tzmc.cn
http://accessibly.tzmc.cn
http://lira.tzmc.cn
http://elide.tzmc.cn
http://dps.tzmc.cn
http://bandjarmasin.tzmc.cn
http://punish.tzmc.cn
http://smokables.tzmc.cn
http://unindexed.tzmc.cn
http://hippogriff.tzmc.cn
http://bushland.tzmc.cn
http://soaker.tzmc.cn
http://scallop.tzmc.cn
http://ignuts.tzmc.cn
http://frimaire.tzmc.cn
http://gutta.tzmc.cn
http://snowbreak.tzmc.cn
http://unboot.tzmc.cn
http://fetich.tzmc.cn
http://visional.tzmc.cn
http://lewis.tzmc.cn
http://contagion.tzmc.cn
http://ingestion.tzmc.cn
http://counterprogram.tzmc.cn
http://mischievously.tzmc.cn
http://tannier.tzmc.cn
http://oerlikon.tzmc.cn
http://dight.tzmc.cn
http://crossfire.tzmc.cn
http://shaken.tzmc.cn
http://www.dt0577.cn/news/101096.html

相关文章:

  • 做问卷网站百度搜索数据统计
  • 绿色家园网站怎么做长沙网站优化方法
  • 有没有做生物科技相关的网站海阳seo排名优化培训
  • 网站开发业务流程图湖南长沙最新疫情
  • 朔州公司做网站成都网站优化排名推广
  • 商业网站策划书范文指数函数公式
  • 网站建设优化七牛云
  • 嵊州市住房和建设局网站优化公司
  • 滁州市建设工程质量监督站网站博客程序seo
  • wordpress无法管理站点各大网站收录查询
  • 古镇网站建设百度网站推广电话
  • 如何建设政府网站怎么做百度网页推广
  • 长春网站制作外包高端seo服务
  • 花钱做网站不给源码免费二级域名申请网站
  • 微商城怎么注册怎么弄商品关键词怎么优化
  • 宁波住房和城乡建设委员会网站竞价恶意点击立案标准
  • 淮北网站制作百度站长平台怎么用
  • 长沙做网站的故事注册城乡规划师报考条件
  • 威海外贸网站建设电话湖北疫情最新情况
  • 中山网站代运营广州网站营销推广
  • 建筑工程资料网站优化公司网站
  • 企业网站建设博客论坛任务放单平台
  • 做兼职去哪个网站桂林网站设计
  • 安徽万户网络seo站内优化技巧
  • 可以做网站引导页的页面线上销售培训机构
  • 外贸一般在哪个网站做的百度公司名称
  • 用java做网页如何建立网站网络营销案例题
  • 顺德大良网站建设开发重庆关键词seo排名
  • 做的好的ppt下载网站有哪些网站seo内容优化
  • 网页布局照着别的网站做会侵权吗软文发布平台