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

私人公司怎么做网站网站后台管理系统

私人公司怎么做网站,网站后台管理系统,做网站平台公司有哪些,平台运营是做什么的一、什么是备忘录模式 来到备忘录模式了,这个模式我感觉相对简单一些,就是备份,或者快照。跟前面一样为了加深理解,我们引入一个电影情结来说明啥是备忘录模式,以来加深大家对备忘录模式的认识。那么,在电影…

一、什么是备忘录模式

        来到备忘录模式了,这个模式我感觉相对简单一些,就是备份,或者快照。跟前面一样为了加深理解,我们引入一个电影情结来说明啥是备忘录模式,以来加深大家对备忘录模式的认识。那么,在电影中谁是此模式应用的王者呢。我想起一位,不知道大家有没有看过一个极其经典的电影,星爷的《大话西游》。在电影《大话西游》中,至尊宝利用月光宝盒不断穿越到紫霞仙子自杀前的时间段,试图改变结局。这种时间穿越和状态恢复的机制也可以类比为备忘录模式。

        至尊宝:“般若波罗蜜~~~~~~~~~”

        二当家:“哇,又升仙啦!咦?为什么要说‘又’?”

        至尊宝通过月光宝盒(管理者)回到过去,每次穿越都会恢复到之前保存的状态(备忘录),从而尝试改变故事的走向。备忘录模式(Memento Pattern) 是一种行为型设计模式,它允许在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可以将该对象恢复到原先保存的状态。

二、为什么使用备忘录模式

        那么我们拿《月光宝盒》来说一下为啥要使用备忘录模式

1. 需要保存对象的历史状态:如文本编辑器中的撤销、恢复功能。在《大话西游》中,至尊宝通过月光宝盒保存了多个历史状态,每次回到过去都是对这些历史状态的恢复。

2. 需要在程序运行时回滚对象状态:如游戏中存储和恢复玩家进度。在电影中,至尊宝利用月光宝盒不断回到过去,每次回到过去都是对之前状态的回滚。

3. 希望避免暴露对象的实现细节:通过备忘录隐藏对象的内部状态。在电影中,月光宝盒作为备忘录,保存了至尊宝的状态,而至尊宝自己和观众都无法直接访问这些状态,只能通过月光宝盒进行恢复。

        备忘录模式通过在不破坏封装性的前提下,捕获并保存对象的内部状态,使得对象可以在需要时恢复到之前的状态。这种模式特别适用于需要撤销操作、历史记录功能或状态恢复的场景。在电影《大话西游》中,至尊宝利用月光宝盒不断回到过去,试图改变结局,这种机制很好地体现了备忘录模式的核心思想。

三、备忘录模式示例

1. 定义备忘录接口(Memento)(定义了备忘录的行为
public interface Memento {// 备忘录接口,用于保存和恢复状态
}
2. 实现具体备忘录类(ConcreteMemento)(月光宝盒
  • 月光宝盒:用于存储至尊宝的内部状态,通常是一个简单的数据类。月光宝盒对至尊宝以外的其他对象是不可变的。

public class TimeMemento implements Memento {private String state;public TimeMemento(String state) {this.state = state;}public String getState() {return state;}
}
3. 定义发起人(Originator)(至尊宝(孙悟空)
  • 至尊宝(孙悟空):负责创建备忘录对象,记录当前时刻的内部状态。至尊宝通过月光宝盒保存和恢复自己的状态
public class BrocadeHorse {private String state;public void setState(String state) {this.state = state;System.out.println("至尊宝的状态已更新为: " + state);}public String getState() {return state;}public Memento saveStateToMemento() {// 保存当前状态到备忘录return new TimeMemento(state);}public void getStateFromMemento(Memento memento) {// 从备忘录恢复状态setState(((TimeMemento) memento).getState());}
}
4. 定义管理者类(Caretaker)(猪八戒(二当家)
  • 猪八戒(二当家):负责保存和管理备忘录,但不能直接操作备忘录的内容。猪八戒通过月光宝盒帮助至尊宝恢复状态。

public class MoonlightBox {private Memento memento;public void saveState(BrocadeHorse horse) {// 保存状态memento = horse.saveStateToMemento();System.out.println("月光宝盒保存了至尊宝的状态。");}public void restoreState(BrocadeHorse horse) {// 恢复状态horse.getStateFromMemento(memento);System.out.println("月光宝盒恢复了至尊宝的状态。");}
}
5. 场景重现
public class Main {public static void main(String[] args) {// 创建至尊宝对象BrocadeHorse brocadeHorse = new BrocadeHorse();// 创建月光宝盒对象MoonlightBox moonlightBox = new MoonlightBox();// 至尊宝的状态变化brocadeHorse.setState("初次见到紫霞仙子");// 保存状态moonlightBox.saveState(brocadeHorse);// 至尊宝的状态变化brocadeHorse.setState("紫霞仙子自杀");// 恢复状态moonlightBox.restoreState(brocadeHorse);// 至尊宝的状态变化brocadeHorse.setState("再次尝试拯救紫霞仙子");// 保存状态moonlightBox.saveState(brocadeHorse);// 恢复状态moonlightBox.restoreState(brocadeHorse);}
}//日志输出
至尊宝的状态已更新为: 初次见到紫霞仙子
月光宝盒保存了至尊宝的状态。
至尊宝的状态已更新为: 紫霞仙子自杀
月光宝盒恢复了至尊宝的状态。
至尊宝的状态已更新为: 再次尝试拯救紫霞仙子
月光宝盒保存了至尊宝的状态。
月光宝盒恢复了至尊宝的状态。

http://www.hkea.cn/news/165352/

相关文章:

  • 湖南企业建站系统平台软文有哪些发布平台
  • 南通 网络 公司网站真正免费建站
  • 做图骂人的图片网站网络服务
  • wordpress主标题副标题seo基础
  • 淮安做网站优化百度竞价排名是什么方式
  • 食品公司网站源码谷歌网页
  • 做网站用哪种代码比较好推广seo发贴软件
  • 3d效果图软件宁波seo行者seo09
  • 美国做按摩广告的网站网站优化教程
  • wordpress云建站教程信息流广告公司一级代理
  • 我有一个域名怎么做网站百度一下下载
  • 郑州网站建设品牌好安装百度到桌面
  • 株洲做网站定制百度灰色词优化排名
  • 上海网页设计公司兴田德润电话排名优化外包公司
  • 做360网站优化快推广普通话宣传语手抄报
  • 动态网站开发语言有哪些大学生创新创业大赛
  • 关键词推广公司网站网络排名优化方法
  • 福州移动网站建设网络营销推广工具有哪些
  • win2008sr怎么用iis做网站国外网站加速
  • 合肥++网站建设磐石网站seo
  • 万网主机怎么上传网站如何在百度上投放广告
  • 做网站时如何给文字做超链接全球疫情最新数据消息
  • 四川省住建厅官方网站3分钟搞定网站seo优化外链建设
  • 做网站阳泉巨量千川广告投放平台
  • 温岭哪里有做网站的如何自制网站
  • 知道创于 wordpress搜索引擎优化宝典
  • 乌兰县wap网站建设公司有效获客的六大渠道
  • 微信网站开发教程视频教程百度一下主页官网
  • 网站开发专业前景关键词挖掘排名
  • 网站开发属于什么职位类别seo查询站长工具