行为型之六-备忘录模式

Memento(备忘录模式)

在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。

比如iOS对对象的归档解档。

VC.m

HCDGameRoll *roll = [[HCDGameRoll alloc]init];
[roll getState];
//把roll对象的内部状态保存到state对象中
HCDGameState *state = [roll saveState];
//manager管理state对象
HCDStateManager *manager = [[HCDStateManager alloc]initWithGameState:state];
//改变roll的内部状态
[roll fightBoss];
[roll getState];
//恢复对象的内部状态
[roll rebackState:manager.gameState];
[roll getState];

设计图

行为型之六-备忘录模式_第1张图片

你可能感兴趣的:(行为型之六-备忘录模式)