Memento备忘录模式

      有的时候需要对一个对象的状态进行恢复,象撤消按钮一样.本例中一个长方形对象,用四个数字记录长方形的状态,当变化发生的时候,有一个机制在变化之前记录状态.以下的关键都在GraphicsSystem中也就是元发器进行管理操作的.

硬编码,虽然实现了需求,但是将记录对象暴露给外部,调用者可以修改它:

HardCode

 

Memento的一种方式,编码复杂,但是给调用者的是一个窄的接口,不能操作记录对象:

Memento1

 

 

一种好的做法就是把需要记录状态的对象做成一个内存流进行保存:

MementoStream

 

泛型的记录,这里仅仅列出一个类的代码,其他应该与上面差别不大 :

泛啦
posted @ 2009-05-24 18:01  愚蠢的笨蛋  阅读(145)  评论(0编辑  收藏  举报