开发者

DDD screen cast question?

I wathced a screen cast on DDD by Greg Young the other day which spoke about persisting all state transitions of an object, instead of it's state when saved, then to load it "replay" all these messages to get the current state back.. This seemed like a really interesting idea, but I'm stuck as to what this parti开发者_如何学运维cular thing is called! I'd like to read more about it, but I'm having trouble getting any decent results without a real name for it.

Can anyone enlighten me?

screen cast is @ http://www.infoq.com/presentations/greg-young-unshackle-qcon08


The comment by Michael Perry calls it Historic Modeling.

He also says that he has "defined a set of rules and a framework for Historic Modeling:" and provides a couple links: (I don't have enough rep to post them both)

http://correspondence.codeplex.com/


I haven't personally studied or used state transition models, but it does sound interesting.


Martin Fowler calls this Event Sourcing. Greg Young even references Fowler in his series on Distributed Domain Driven Design, in which he clarifies some details regarding the presentation; you might want to read it.


Slightly off on a tangent... Rocky Lhotka has implemented something he calls n-level undo (elsewhere referred to as Multilevel Undo) in his CSLA Business Object framework but this only applies to history of changes in memory and (that I'm aware of) doesn't persist down into the DB.

DDD folks tend not to think very highly of CSLA but some of the ideas and implementations contained therein are definitely worth looking into.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜