English 中文(简体)
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 particular 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.





相关问题
Anyone feel like passing it forward?

I m the only developer in my company, and am getting along well as an autodidact, but I know I m missing out on the education one gets from working with and having code reviewed by more senior devs. ...

NSArray s, Primitive types and Boxing Oh My!

I m pretty new to the Objective-C world and I have a long history with .net/C# so naturally I m inclined to use my C# wits. Now here s the question: I feel really inclined to create some type of ...

C# Marshal / Pinvoke CBitmap?

I cannot figure out how to marshal a C++ CBitmap to a C# Bitmap or Image class. My import looks like this: [DllImport(@"test.dll", CharSet = CharSet.Unicode)] public static extern IntPtr ...

How to Use Ghostscript DLL to convert PDF to PDF/A

How to user GhostScript DLL to convert PDF to PDF/A. I know I kind of have to call the exported function of gsdll32.dll whose name is gsapi_init_with_args, but how do i pass the right arguments? BTW, ...

Linqy no matchy

Maybe it s something I m doing wrong. I m just learning Linq because I m bored. And so far so good. I made a little program and it basically just outputs all matches (foreach) into a label control. ...

热门标签