游戏设计模式学习笔记(17)备忘录模式

《Game Programming Pattern》游戏编程模式读书笔记之架构、性能和游戏 前言: 《游戏编程模式》是一本关于游戏的设计模式的书籍,主要讲解如何架构代码;原版为英文版,有电子版本,网络上也有翻译的中文版本,另外我也参考了知乎的一些读书笔记,结合个人理解做了点笔记; 参考: 1.《Game Programming Pattern》英文原版 2.游戏编程模式中文翻译 3.其它读书笔记,知乎-游戏设计模式(一) 序言:架构,性能与游戏 正文: 本文主要内容就是关于... 阅读详情

游戏设计模式学习笔记(17)备忘录模式

参考:

《设计模式与游戏完美开发》

《游戏编程模式》(https://github.com/tkchu/Game-Programming-Patterns-CN)

《图说设计模式( Graphic Design Patterns)》(https://github.com/me115/design_patterns)

【游戏设计模式】浅墨_毛星云: https://blog.youkuaiyun.com/poem_qianmo/article/details/53240330

runoob.com 设计模式:https://www.runoob.com/design-pattern/memento-pattern.html


定义

  • 在不违反封装的原则下,获取一个对象的内部状态并保留在外部,让对象可以日后恢复原来保留的状态。

优缺点

  • 优点
    • 给用户提供了一种可以恢复状态的机制,可以使用户能够比较方便地回到某个历史的状态。
    • 实现了信息的封装,使得用户不需要关心状态的保存细节。
  • 缺点
    • 消耗资源。如果类的成员变量过多,势必会占用比较大的资源,而且每一次保存都会消耗一定的内存。

应用

  • 保存状态
    在这里插入图片描述
public class MementoPatternDemo {
   public static void main(String[] args) {
      Originator originator = new Originator();
      CareTaker careTaker = new CareTaker();
      originator.setState("State #1");
      originator.setState("State #2");
      careTaker.add(originator.saveStateToMemento());
      originator.setState("State #3");
      careTaker.add(originator.saveStateToMemento());
      originator.setState("State #4");
 
      System.out.println("Current State: " + originator.getState());    
      originator.getStateFromMemento(careTaker.get(0));
      System.out.println("First saved State: " + originator.getState());
      originator.getStateFromMemento(careTaker.get(1));
      System.out.println("Second saved State: " + originator.getState());
   }
}

// 输出
// Current State: State #4
// First saved State: State #2
// Second saved State: State #3
行人重识别(ReID)基础知识入门 行人重识别(Person re-identification)主要目的是针对出现在监控摄像头内的某个目标行人,准确快速地从监控网络其他摄像头内的大量行人中将这个目标行人标识出来。如图所示一个区域有多个摄像头拍摄视频序列,ReID的要求对一个摄像头下感兴趣的行人,检索到该行人在其他摄像头下出现的所有图片。 阅读详情

相关推荐

OpenIddict实战指南:在.NET Core中构建安全的OAuth 2.0与OpenID Connect服务

本文详细介绍了如何在.NET Core中使用OpenIddict框架构建安全、标准的OAuth 2.0与OpenID Connect授权服务。内容涵盖从快速搭建授权服务器、理解核心配置与授权流程,到集成用户数据库、实现完整登录授权,以及生产环境下的安全加固与部署指南,为.NET开发者提供了一套现代、可维护的认证授权解决方案。

weixin_29229989的博客 354

[游戏编程模式].(Game.Programming.Patterns).(美)Robert.Nystrom.pdf

下载地址:网盘下载 内容简介······ 游戏开发一直是热门的领域,掌握良好的游戏编程模式是开发人员的应备技能。本书细致地讲解了游戏开发需要用到的各种编程模式,并提供了丰富的示例。 全书共分20章,通过三大部分内容全面介绍了与游戏编程模式相关的各类知识点。首部分介绍了基础知识和框架;第二部分深入探索设计模式,并介绍了模式与游戏开发...

weixin_30828379的博客 536

QoderWake 与 Qoder 工具生态详解

Qoder CLIQoder SDKQoderWake谁在用你(开发者)你的程序你的数字员工谁在跑你的终端会话你的应用进程Daemon 后台进程什么时候跑你启动时你的代码调用时7×24 持续运行怎么触发键盘输入函数调用定时/事件/API/IM有记忆吗会话级 + 文件无多层持久记忆能协作吗Subagent多 Waker + IM 群组核心价值编码效率集成灵活性自主生产力一句话总结。

驽马不舍 945

游戏设计模式学习笔记(7)序列模式(双缓冲模式、游戏循环、更新方法)

游戏设计模式学习笔记(7)序列模式(双缓冲模式、游戏循环、更新方法) 参考: 《设计模式与游戏完美开发》 《游戏编程模式》(https://github.com/tkchu/Game-Programming-Patterns-CN) 《图说设计模式( Graphic Design Patterns)》(https://github.com/me115/design_patterns) 【游戏设计...

l773575310的博客 601

UNITY2022 Cardboard环境搭建

必须安装 Git,并且 git 可执行文件必须位于 PATH 环境变量中。考文档:https://developers.google.cn/cardboard/develop/unity/quickstart?转到 Assets/Samples/Google Cardboard//Hello Cardboard/Scenes/HelloCardboard 场景中。粘贴https://github.com/googlevr/cardboard-xr-plugin.git到文本输入字段中。

weixin_39510925的博客 1210

【OpenStack】OpenStack原理(一)——OpenStack发展及架构

OpenStack目前的七个核心组件,分别是计算(Compute)、对象存储(Object Storage)、认证(Identity)、用户界面(Dashboard)、块存储(Block Storage)、网络(Network)和镜像服务(Image Service)。

大数据分析BDA 2万+

Game Programming Patterns-架构,性能与游戏

《Game Programming Patterns》游戏编程模式的第二篇; 在我们埋头研究一堆的设计模式之前,我想先告诉你,对于软件架构,我个人是如何理解的。这样可以帮你对后续的文章有更好的理解。或者,当你跟别人争论一个软件架构或者设计模式是优秀还是糟糕的时候,这些都可以给你提供一些论据。

AutoVision (by 仙道菜) 3909

通过两个mark点确定某一个点的位置

read_image (Image0, '0.bmp') binary_threshold (Image0, Region, 'max_separability', 'dark', UsedThreshold) connection (Region, ConnectedRegions) fill_up (ConnectedRegions, RegionFillUp) select_shape_std (RegionFillUp, SelectedRegions, 'max_area', 70) red...

优快云博客 3887

大华/华睿工业相机(摄像头)链接电脑,并用OpenCV打开

睿科是大华旗下机器视觉子公司,现在工业相机一般是华睿在产,要下载驱动程序,要到华睿官网哪里下载。由于我的电脑没有摄像头,所以摄像头序列化为0,电脑的第一个摄像头默认为0,序列号是0,1,2,3……,你是什么接口连接的就选择什么, 建议直接全选。我这里选择第二个,下载后点击安装,的你要点击识别右侧设置,设置。这个过程很简单,故不赘述。打开你的设备会在右边显示。

qq_48050838的博客 1万+

深入解析ISO12233标准:SFR算法从理论到代码实现

本文深入解析ISO12233标准中的SFR算法,从理论到代码实现全面介绍如何量化成像系统的解析力。通过e-SFR算法测量边缘扩散函数(ESF)和空间频率响应(SFR),结合光学原理和实际代码示例,帮助开发者准确评估影像质量。文章包含关键步骤的Python实现和工程优化技巧,适用于相机测试、镜头评估等应用场景。

weixin_29200485的博客 154

C#学习笔记-备忘录模式

什么是备忘录模式?   备忘录模式(Memento):在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。                这样以后就可将该对象恢复到原先保存的状态。  备忘录模式的组成   Originator(发起人):负责创建一个备忘录Memento,用以记录当前时刻它的内部状态,并可使用备忘录恢复内部状态。           ...

weixin_30302609的博客 111

[Dify] -进阶13- 使用“知识库 + 工作流”打造智能推荐系统

本文介绍了在Dify平台上构建智能推荐系统的方法,重点阐述了知识库与工作流技术的结合应用。通过知识库管理RAG流程,实现文档上传、向量嵌入和检索优化;利用工作流设计节点化推荐逻辑,支持并行处理与条件分支。以电话销售话术推荐为例,展示了从数据收集到实时生成的完整流程。该方法具有准确性高、扩展性强、维护简便等优势,可广泛应用于各类推荐场景,实现从数据存储到智能推荐的闭环解决方案。

技术小甜甜:传播可落地技术,帮助个人和企业降低解决真实场景问题的成本 1066

什么情况使用什么设计模式(Android源码设计模式解析与实战)

Android学习PDF+架构视频+源码笔记高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料这几块的内容。非常适合近期有面试和想在技术道路上继续精进的朋友。一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!这几块的内容。非常适合近期有面试和想在技术道路上继续精进的朋友。一个人可以走的很快,但一群人才能走的更远。

2401_84104460的博客 785

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

java贪吃蛇游戏设计,成长路线图

一、先来解读:23种设计模式要点 1.单例模式(Singleton Pattern) 2.工厂模式 3.抽象工厂模式(Abstract Factory Pattern) 4.模板方法模式(Template Method Pattern) 5.建造者模式(Builder Pattern) 6.代理模式(Proxy Pattern) 7.原型模式(Prototype Pattern) 8.中介者模式 9.命令模式 10.责任链模式 11.装饰模式(Decorator Pattern) 12.策略模式

weixin_57485542的博客 735

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

java游戏开发引擎,附赠复习资料

一、先来解读:23种设计模式要点 1.单例模式(Singleton Pattern) 2.工厂模式 3.抽象工厂模式(Abstract Factory Pattern) 4.模板方法模式(Template Method Pattern) 5.建造者模式(Builder Pattern) 6.代理模式(Proxy Pattern) 7.原型模式(Prototype Pattern) 8.中介者模式 9.命令模式 10.责任链模式 11.装饰模式(Decorator Pattern) 12.策略模式

m0_57624876的博客 153

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Python爬虫实战:获取美妆门户网商品信息与数据分析

8K 剪辑大显存显卡选型实战:RTX 4090(24G)vs RTX A6000(48G)—— 从 “够用” 到 “专业” 的决策指南(二)针对单元测试、集成测试、系统测试和验收测试(用户测试)各自的目标和测试内容不同,设计对应的各类测试用例。UNIX下C语言编程与实践24-UNIX 标准文件编程库:无格式读写函数族(字符、行、块)的使用。UNIX下C语言编程与实践21-UNIX 文件访问权限控制:st_mode 与权限宏的解析与应用。Python学习历程——组织结构(包含for、if、while等等)

2501_93200149的博客 605

大模型应用开发--Agent笔记1(定义,ReAct、Plan-and-execute范式,Coze、Dify低代码平台,LangChain、LlamaIndex、AutoGen框架,评估,含代码)

本文基于datawhale的Hello-Agents开源项目及其他大模型开发资料整理而成。内容分为四个部分: 智能体基础概念、智能体构建范式、智能体框架比较和智能体性能评估。笔记重点分析了不同范式的优缺点,并通过实际代码示例展示了各框架的具体实现方式。作者将持续更新学习内容,深入探索智能体开发的实践应用。

zhuai.blog.youkuaiyun.com 2007

游戏设计模式学习笔记(1)设计原则、看懂类图

游戏设计模式学习笔记(1)设计原则、看懂类图 参考: 《设计模式与游戏完美开发》 《游戏编程模式》(https://github.com/tkchu/Game-Programming-Patterns-CN) 《图说设计模式( Graphic Design Patterns)》(https://github.com/me115/design_patterns) 【游戏设计模式】浅墨_毛星云: h...

l773575310的博客 1447

游戏设计模式学习笔记(20)工厂模式、抽象工厂模式

游戏设计模式学习笔记(20)工厂模式、抽象工厂模式 参考: 《设计模式与游戏完美开发》 《游戏编程模式》(https://github.com/tkchu/Game-Programming-Patterns-CN) 《图说设计模式( Graphic Design Patterns)》(https://github.com/me115/design_patterns) 【游戏设计模式】浅墨_毛星云...

l773575310的博客 685

游戏设计模式学习笔记(10)优化模式(数据局部性、脏标识、对象池、空间区分)

游戏设计模式学习笔记(10)优化模式(数据局部性、脏标识、对象池、空间区分) 参考: 《设计模式与游戏完美开发》 《游戏编程模式》(https://github.com/tkchu/Game-Programming-Patterns-CN) 《图说设计模式( Graphic Design Patterns)》(https://github.com/me115/design_patterns) 【...

l773575310的博客 668

游戏设计模式学习笔记(21)建造者模式

游戏设计模式学习笔记(21)建造者模式 参考: 《设计模式与游戏完美开发》 《游戏编程模式》(https://github.com/tkchu/Game-Programming-Patterns-CN) 《图说设计模式( Graphic Design Patterns)》(https://github.com/me115/design_patterns) 【游戏设计模式】浅墨_毛星云: http...

l773575310的博客 614

游戏设计模式学习笔记(8)行为模式(字节码、子类沙箱、类型对象)

游戏设计模式学习笔记(8)行为模式(字节码、子类沙箱、类型对象) 参考: 《设计模式与游戏完美开发》 《游戏编程模式》(https://github.com/tkchu/Game-Programming-Patterns-CN) 《图说设计模式( Graphic Design Patterns)》(https://github.com/me115/design_patterns) 【游戏设计模式...

l773575310的博客 520

游戏设计模式学习笔记(9)解耦模式(组件模式、事件队列、服务定位器)

游戏设计模式学习笔记(9)解耦模式(组件模式、事件队列、服务定位器) 参考: 《设计模式与游戏完美开发》 《游戏编程模式》(https://github.com/tkchu/Game-Programming-Patterns-CN) 《图说设计模式( Graphic Design Patterns)》(https://github.com/me115/design_patterns) 【游戏设计...

l773575310的博客 493

游戏设计模式学习笔记(4)观察者模式

游戏设计模式学习笔记(4)观察者模式 参考: 《设计模式与游戏完美开发》 《游戏编程模式》(https://github.com/tkchu/Game-Programming-Patterns-CN) 《图说设计模式( Graphic Design Patterns)》(https://github.com/me115/design_patterns) 【游戏设计模式】浅墨_毛星云: https...

l773575310的博客 387

游戏设计模式学习笔记(16)责任链模式

游戏设计模式学习笔记(16)责任链模式 参考: 《设计模式与游戏完美开发》 《游戏编程模式》(https://github.com/tkchu/Game-Programming-Patterns-CN) 《图说设计模式( Graphic Design Patterns)》(https://github.com/me115/design_patterns) 【游戏设计模式】浅墨_毛星云: http...

l773575310的博客 375
上一篇: 游戏设计模式学习笔记(13)桥接模式
下一篇: 游戏设计模式学习笔记(19)装饰模式、适配器模式、代理模式
ChiLi_Lin
博客等级 码龄12年 760粉丝 184原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值