C#面向对象模式设计第二十一讲:Memento 备忘录模式(行为型模式)

(根据MSDN WebCast相关课程整理)

对象状态变化无端,如何回溯或恢复这些对象在某个点的状态呢?

C#面向对象模式设计第二十一讲:Memento 备忘录模式(行为型模式)_第1张图片

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

C#面向对象模式设计第二十一讲:Memento 备忘录模式(行为型模式)_第2张图片

将对象的状态保存到了外部的Memento对象中,而在原发器对象内容提供保存状态和恢复状态的操作。而备忘录对象则只负责保存对象的状态,不支持原发器对象的所有操作。

C#面向对象模式设计第二十一讲:Memento 备忘录模式(行为型模式)_第3张图片

clip_image008

C#面向对象模式设计第二十一讲:Memento 备忘录模式(行为型模式)_第4张图片

也可以使用克隆对象或序列化来保存对象的状态,我们可以根据实际情况和需要来选择。

《完》

你可能感兴趣的:(C#面向对象模式设计第二十一讲:Memento 备忘录模式(行为型模式))