【DesignModel】备忘录模式(Memento Pattern)

备忘录模式用于在不破坏封装的情况下,捕获并保存对象的内部状态,以便后续恢复。在游戏场景中,角色在挑战Boss前保存其攻击力和防御力,通过备忘录对象可以在战后恢复原有状态。传统备份方式可能暴露对象内部细节且管理不便,备忘录模式解决了这些问题,提供了一种高效的状态恢复机制,但过多的成员变量可能增加内存消耗。适用场景包括游戏存档、系统撤销操作等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基本介绍

  1. 备忘录模式(Memento Pattern)在 不破坏封装性的前提下,捕获 一个对象的内部状态,并在该对象之外保存这
    个状态。这样以后就 可将该对象恢复到原先保存的状态

  2. 可以这里理解备忘录模式:现实生活中的备忘录是用来记录某些要去做的事情,或者是记录已经达成的共同意见的事情,以防忘记了。而在软件层面,备忘录模式有着相同的含义,备忘录对象主要用来记录一个对象的某种状态,或者某些数据,当要做回退时,可以从备忘录对象里获取原来的数据进行恢复操作

  3. 备忘录模式属于行为型模式

1. 游戏角色状态恢复问题

游戏角色有攻击力和防御力,在大战 Boss 前保存自身的状态(攻击力和防御力),当大战 Boss 后攻击力和防御
力下降,从备忘录对象恢复到大战前的状态

2. 传统方案解决游戏角色恢复

在这里插入图片描述

3. 传统的方式的问题分析

  1. 一个对象,就对应一个保存对象状态

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mumu_wangwei

主修"红尘道--红尘练心"

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值