温馨提示:文本由机器自动转译,部分词句存在误差,以视频为准
00:00
Java设计模式之备忘录模式。那么我们来看一下一个需求。所以现在呢,我们写了一个游戏,对,我们写了一个网络游戏,那么网络游戏呢,有这么一个需求,大家可以看到。我们游戏中呢,每一个角色它是有攻击力,还有防御能力的。那么在大战boss之前。在这最后一个大妖怪,哎大boss比赛之前呢,他保存自身的一个状态,他有具有自己的攻击力,还有自己的防御能力,当大战过后呢,哎,大战过后他的攻击力还有防御能力就会下降。那假如现在下降了一段时间,下降了过后呢,我们又希望。能够把这一个游戏的角色,他他的状态恢复到大战之前。像这种情况,我们就可以使用什么呀,使使用我们这个备忘录模式。可以使用备忘录模式,那么我们来看看对于这样一种需求,传统的设计方案会怎么做呢?一般会这样子怎么做就是。
01:09
我这里有一个角色啊,就是我们的游戏角色,一个游戏角色呢,我们对应给他写一个对象来保存他的状态,比如说他的防御力,还有它的一个攻击力。把它保存起来,那这样就会造成什么一个游戏角色,或者游戏一个游戏,游戏的一个角色,他就对应一个状态的类啊状状态,那么大家想在我们游戏中可能有很多很多这样的角色,游戏角色,那这样子的话呢,就会造成我们会有很多的对象的状态,这样的对象来保存他的信息,是不是,所以说。我们分析出来的问题是这样子的。一个对象就对应按照传统的方案来说,一个对象就对应一个保存对象状态的对象。那这样当我们游戏的对象很多的时候,不利于管理,开销也非常大,因为在我们实际的比赛里面,我们可能有很多的这样的游戏角色是吧。
02:10
成千上万,那你这个就麻烦了。那么传统的方式呢,也是做转简单的一个备份,又从另外一个对象来把,再把需要备份的数据放到这个新对象,同时这样做的话呢,也暴露了对象内部的细节。这样你你肯定会暴露他的细节吗?为什么会暴露啊,因为你你会知道这个这个被保存对象的它的它的属性,还有它的一些方法。那么怎么解决这个问题呢?我们可以用备忘录模式来解决,这就是我们推出了备忘录模式的一个需求,那下面呢,我们就来看一下备忘录模式它到底是个什么样的概念。
我来说两句