一般想起Undo,都会想起Memento模式和Command模式,今天先说前者。Memento模式最形象的例子是,把大脑的记忆一条条写在Blog上,其中大脑是Originator,每一条记忆信息是Memento,这条信息可以很复杂,于是可以独自作为一个类对象State,Blog这个载体就是CareTaker,负责添加与删除记忆信息。Memento模式UML图如下:Memento(备忘录):保存Or... Read More
posted @ 2007-04-10 23:03 包建强 Views(2110) Comments(7) Diggs(0)
但凡是模式,总要有一个UML才能说清楚。一般而言,我只记UML图,有些模式有自己的固定实现代码(只是其中一部分),尤其在C#中,甚至只是把用户当作一个Client端,而不暴露其内部实现,只把封装好的模式接口公布。于是,我会再记一些固定方法实现。还有就是适用场合(多看例子),优缺点。最后,横向的看模式与模式之间的比较,联合与差异。以上都做到了,这套心法也就成正果了。 OO的思想也很重要,三个基本特... Read More
posted @ 2007-04-10 17:12 包建强 Views(1274) Comments(0) Diggs(1)