幸运星空

Lucker的程序人生

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

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

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

clip_image002

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

clip_image004

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

clip_image006

clip_image008

clip_image010

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

《完》

posted on 2012-03-21 17:48  Lucker  阅读(414)  评论(0编辑  收藏  举报