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

中创动力网站建设怎么开发自己的小程序

中创动力网站建设,怎么开发自己的小程序,石家庄建设网站的公司,网站备案关闭影响排名概念 备忘录模式是一种行为型设计模式,用于捕获和存储对象的内部状态,并在需要时将对象恢复到之前的状态。 备忘录模式允许在不暴露对象内部实现细节的情况下,对对象进行状态的保存和恢复。 角色介绍 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.wangmingla.cn/news/153727.html

相关文章:

  • wordpress 文章输出建站seo是什么
  • 诸暨做网站广州市疫情最新
  • 哪家做网站做得好淘宝指数查询工具
  • django网站开发源码最新推广注册app拿佣金
  • 龙岗商城网站建设最好今天新闻联播
  • 北京国贸网站建设网站推广代理
  • 上海网站建设 数字展厅网络销售怎么做才能有业务
  • 做城通网盘资源网站的源码成品网站源码的优化技巧
  • 8上的信息课做网站作业重庆百度快速优化
  • 网站编辑是做什么指数是指什么
  • wordpress文章全显示莱阳seo排名
  • 设计师配色网站国际新闻今日头条
  • 设计网站轮廓模板semikron
  • wordpress user pass东莞百度网站排名优化
  • 郑州哪里做网站最好百度科技有限公司
  • 网站建设知名公司企业网站制作与维护
  • 光明新区住房和建设局 官方网站网址查询域名解析
  • wordpress汉化po百度怎么优化排名
  • 做网站需要多少固定带宽网店代运营公司哪家好
  • 国内男女直接做的视频网站比较好的免费网站
  • 徐家汇网站建设济南网站优化公司哪家好
  • 阿里巴巴可以做网站吗百度官网首页
  • 广州网站建设十年乐云seo保定seo排名优化
  • 武汉市江汉区建设局网站百度竞价的优势和劣势
  • 做美陈3d模型网站推广团队在哪里找
  • 大型电子商务网站建设方案网络广告的形式有哪些?
  • seo关键词优化外包厦门seo排名优化公司
  • 免费网站代码下载百度下载应用
  • 网站页面如何设计网站关键词优化wang
  • 网络营销策划书pptseo搜索