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

营销网站制作都选ls15227定制做网站设计

营销网站制作都选ls15227,定制做网站设计,怎么做网页连接,网站管理运营概念 备忘录模式是一种行为型设计模式,用于捕获和存储对象的内部状态,并在需要时将对象恢复到之前的状态。 备忘录模式允许在不暴露对象内部实现细节的情况下,对对象进行状态的保存和恢复。 角色介绍 Originator:原发器&#x…

概念

备忘录模式是一种行为型设计模式,用于捕获和存储对象的内部状态,并在需要时将对象恢复到之前的状态。
备忘录模式允许在不暴露对象内部实现细节的情况下,对对象进行状态的保存和恢复。

角色介绍

  • Originator:原发器,负责创建备忘录对象,并将其当前状态保存到备忘录中,也可以从备忘录中恢复自身状态。
  • Memento:备忘录,用于存储发起人的状态,通常具备对发起人状态的访问权限。
  • Caretaker:管理者,负责管理备忘录对象,可以保存多个备忘录对象,并在需要时将其提供给发起人进行状态的恢复。

UML

备忘录

代码实现

/*** 备忘录*/
data class Memento(val state: String? = null
)/*** 原发器*/
class Originator {var state: String? = nullfun save(): Memento {return Memento(state)}fun recover(memento: Memento) {state = memento.state}}/*** 看管人*/
class Caretaker {private val mementos = ArrayList<Memento>()fun addMemento(memento: Memento) {mementos.add(memento)}fun getMemento(i: Int): Memento {return mementos[i]}
}fun main() {val originator = Originator()val caretaker = Caretaker()originator.state = "State#1"originator.state = "State#2"caretaker.addMemento(originator.save())originator.state = "State#3"caretaker.addMemento(originator.save())originator.state = "State#4"println("Current State:${originator.state}")originator.recover(caretaker.getMemento(0))println("0 State:${originator.state}")originator.recover(caretaker.getMemento(1))println("1 State:${originator.state}")
}

优缺点

优点

  • 封装性
  • 简易恢复和撤销
  • 简化发起人
    缺点
  • 增加内存使用
  • 性能开销
  • 复杂性

应用场景

适用于需要维护对象状态的历史记录,而不想暴露复杂的内部状态。

  • 文本编辑器
  • 绘图应用程序
  • 数据库系统
  • 游戏开发
  • 版本控制系统

总结

备忘录适用于需要保存/恢复数据的相关状态场景,并提供一个可回滚的操作。
为了符合迪米特原则,还需增加一个管理备忘录的类;为了节省内容可使用配合原型模式使用。

参考:

  • https://www.cnblogs.com/jiangzhaowei/p/7287359.html
  • https://www.runoob.com/design-pattern/memento-pattern.html
  • https://www.cnblogs.com/cativen/p/16641173.html
http://www.yayakq.cn/news/180688/

相关文章:

  • 帮别人做网站必须要开公司海外短视频app怎么下载
  • 如何做服装企业商城网站简单网页制作成品下载
  • 莱州网站定制写wordpress导航
  • 重庆奉节网站建设免费开通的网站
  • 布料市场做哪个网站好店面logo设计制作
  • 做网站php语言用什么工具网站推广工具
  • seo网站推广方式龙岩网站建设方式
  • 网站运营团队建设推广方法有哪些
  • 做问卷调查的网站挣钱如何为公司做网站
  • 小米手机如何做游戏视频网站php 网站模板 x11
  • 北京做网站公司排名网站制作教程ps
  • 惠阳区城市建设规划局网站专业做w7系统的网站
  • 彩票网站建设平台产品推广方案怎么写
  • 从哪里可以建公司网站上海源码网站建设公司
  • 西安网站建设 中讯创赢网站的配置标题
  • 论文旅游网站建设龙岩做网站开发哪家做的好
  • 用帝国cms做企业网站福州专业做网站的公司哪家好
  • 人力资源网站怎么建设响应式地方网站
  • wordpress 漫画网站金山企业型网站建设
  • 建网站的公司服务做网站 备案
  • 扶贫网站建设方案wordpress 小工具原理
  • 做网站的优势网站要服务器吗
  • 组网方案设计seo网站推广如何做
  • 做网站哪家强北京城乡建设官方网站
  • 最专业的做音乐网站网站建设外包公司排名
  • 营销网站售后调查系统c2c电子商务
  • 免费网站制作新闻国外vps国内vps
  • 廊坊网站排名方案如何通过轻淘客做网站
  • 百度如何把网站做链接地址昆明自动seo
  • 机械配件东莞网站建设旅游网站建设合同