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

7k7k网页游戏官网怎么卸载windows优化大师

7k7k网页游戏官网,怎么卸载windows优化大师,北京网站设计建设,网络整合营销传播文章目录 1.备忘录模式定义2.备忘录模式的角色3.备忘录模式实现3.1.场景说明3.2.结构类图3.3.代码实现 4.备忘录模式优缺点5.备忘录模式适用场景6.备忘录模式总结 主页传送门:💁 传送 1.备忘录模式定义 备忘录(Memento Pattern)模…

文章目录

  • 1.备忘录模式定义
  • 2.备忘录模式的角色
  • 3.备忘录模式实现
    • 3.1.场景说明
    • 3.2.结构类图
    • 3.3.代码实现
  • 4.备忘录模式优缺点
  • 5.备忘录模式适用场景
  • 6.备忘录模式总结

在这里插入图片描述

主页传送门:💁 传送

1.备忘录模式定义

       备忘录(Memento Pattern)模式又叫做快照模式(Snapshot Pattern)或Token模式,是对象的行为模式。。其定义如下:

Without violating encapsulation,capture and externalize an object’s internal state so that the object can be restored to this state later.

       即:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样以后就可将该对象恢复到原来保存的状态。
       其通用类图如下:
在这里插入图片描述

2.备忘录模式的角色

备忘录模式由三个核心角色组成:

  • 发起人(Originator):
    发起人是具有要恢复状态的对象。它定义了创建备忘录对象的方法,以便在需要时使用这些备忘录来恢复对象的先前状态。
  • 备忘录(Memento):
    备忘录对象是用于保存发起人对象状态的容器。它通常只存储发起人的状态信息,而不包括任何关于状态如何被捕获或恢复的实现细节。
  • 管理者(Caretaker):
    管理者负责管理备忘录对象,并且只能对它们进行保存和恢复的操作。管理者可以对备忘录执行操作,但是不能查看或修改其内容。

3.备忘录模式实现

3.1.场景说明

       备忘录角色对任何对象都提供一个接口,即宽接口,备忘录角色的内部所存储的状态就对所有对象公开。因此这个实现又叫       做“白箱实现”。
“白箱”实现将发起人角色的状态存储在一个大家都看得到的地方,因此是破坏封装性的。但是通过程序员自律,同样可以在一定程度上实现模式的大部分用意。因此白箱实现仍然是有意义的。

3.2.结构类图

       下面给出一个示意性的“白箱实现”。
在这里插入图片描述

3.3.代码实现

发起人角色类,发起人角色利用一个新创建的备忘录对象将自己的内部状态存储起来。

public class Originator {private String state;/*** 工厂方法,返回一个新的备忘录对象*/public Memento createMemento(){return new Memento(state);}/*** 将发起人恢复到备忘录对象所记载的状态*/public void restoreMemento(Memento memento){this.state = memento.getState();}public String getState() {return state;}public void setState(String state) {this.state = state;System.out.println("当前状态:" + this.state);}}

备忘录角色类,备忘录对象将发起人对象传入的状态存储起来。

public class Memento {private String state;public Memento(String state){this.state = state;}public String getState() {return state;}public void setState(String state) {this.state = state;}}

负责人角色类,负责人角色负责保存备忘录对象,但是从不修改(甚至不查看)备忘录对象的内容。

public class Caretaker {private Memento memento;/*** 备忘录的取值方法*/public Memento retrieveMemento(){return this.memento;}/*** 备忘录的赋值方法*/public void saveMemento(Memento memento){this.memento = memento;}
}

客户端角色类

public class Client {public static void main(String[] args) {Originator o = new Originator();Caretaker c = new Caretaker();//改变负责人对象的状态o.setState("On");//创建备忘录对象,并将发起人对象的状态储存起来c.saveMemento(o.createMemento());//修改发起人的状态o.setState("Off");//恢复发起人对象的状态o.restoreMemento(c.retrieveMemento());System.out.println(o.getState());}}

4.备忘录模式优缺点

备忘录模式的优点主要包括:

  • 提供了一种可以恢复状态的机制。当用户需要时能够比较方便地将数据恢复到某个历史的状态。
  • 实现了内部状态的封装。除了创建它的发起人之外,其他对象都不能够访问这些状态信息。
  • 简化了发起人类。发起人不需要管理和保存其内部状态的各个备份,所有状态信息都保存在备忘录中,并由管理者进行管理,这符合单一职责原则。

备忘录模式的缺点主要包括以下几点:

  • 资源消耗过大:如果要保存的原发器类的成员变量太多,就不可避免需要占用大量的存储空间,每保存一次对象的状态都需要消耗一定的系统资源。
  • 可能存在操作无效的问题:当发起人角色的状态改变的时候,有可能这个协议无效。 如果状态改变的成功率不高的话,不如采取“假如”协议模式。

5.备忘录模式适用场景

备忘录模式适用于以下场景:

  1. 需要保存和恢复数据的相关业务场景。例如,在Word中编写文档时,可以使用Ctrl+Z执行“撤销”操作,恢复到之前的状态。
  2. 游戏中保存进度的场景。例如,在游戏中,玩家可以保存游戏进度,以便在稍后的时候恢复游戏状态。
  3. 数据库和操作系统的快照功能。这些系统需要定期备份数据,以便在出现问题时可以恢复到之前的状态。

6.备忘录模式总结

     备忘录模式是一种行为型设计模式,它提供了一种可以恢复状态的机制。当需要保存对象内部状态时,可以通过备忘录类将状态信息保存在管理者类中。当需要恢复对象状态时,可以通过管理者类获取之前保存的备忘录,并将状态信息恢复到对象中。
     总的来说,备忘录模式适用于需要保存和恢复状态的场景,其中原发器类需要封装状态信息,并由管理者类进行管理。在使用时,需要根据实际需求权衡利弊,注意资源消耗和操作无效的问题。

如果喜欢的话,欢迎 🤞关注 👍点赞 💬评论 🤝收藏 🙌一起讨论
你的支持就是我✍️创作的动力! 💞💞💞

http://www.mmbaike.com/news/51112.html

相关文章:

  • 专门做qq小工具的网站站长工具seo推广 站长工具查询
  • 加微信群网站怎么做的最近的电脑培训学校
  • 网页设计尺寸大小seo服务
  • wordpress 手机不显示福清市百度seo
  • 做时时彩开奖网站犯法吗外贸获客软件
  • 最新网页版传奇游戏排行榜天津谷歌优化
  • wordpress 标签显示数量黑帽seo优化软件
  • 色彩搭配的网站百度贴吧网页版入口
  • 大芬地铁站附近做网站百度导航最新版本免费下载
  • 潍坊最早做网站的公司高级seo优化招聘
  • 做网站的html框架无锡网站优化
  • 网络推广就是做网站吗开户推广竞价开户
  • 做器材的网站推广关键词排名方法
  • 淘宝有做网站吗广州seo公司推荐
  • 网站建设网络推广公司网页网站建设
  • 江苏建设人才网官网入口seo咨询服务
  • 衡水学校网站建设做网站多少钱
  • p2p网站建设方案aso排名
  • 什么网站做招聘效果好南宁seo排名首页
  • 沈阳企业做网站东莞seo黑帽培训
  • 云南网站建设的价值武汉百捷集团百度推广服务有限公司
  • 怎么做外围网站代理百度指数的各项功能
  • 有没有可以做游戏的网站吗bt兔子磁力天堂
  • 郑州郑州网站建设河南做网站公司哪家好西安seo服务商
  • 个人或主题网站建设实验体会百度推广网址
  • 山东潍坊网站制作公司设计好看的网站
  • 做网站运营很累吧关键词智能优化排名
  • seo教程书籍百度网盘seo优化
  • 网页设计作品模板sem seo
  • 平面设计作品欣赏官网企业网站优化外包