I’ve just learned about this and don’t want to loose the thought and links surrounding it.
The first encounter I had with DDD was when Jimmy Nilsson did a presentation at Elevate. One of the things he said did a profound impression on me, especially the part when he talked about the database being a consequence of my domain model, not the other way around.
OK – this got me thinking. Wouldn’t it be nice if it also was that way with the GUI? The GUI being a consequence or reflecting what my domain model captures?
Here is, to my very narrow knowledge, the solution – DDD with Naked Objects. Naked objects is an architectural pattern that adds a principle of the GUI being automatically generated (or generated on the fly I presume) from the model.
OK – but that cannot be used in production, of course – I hear some people way in the back saying. No but – to quote a late post the Swedish DDD-list on Google (my translation):
A story is considered done when there is an implementation of the Domain Model and a basic GUI, in which you can do anything, but only in one way and without any major afterthought. The users can then test the story with this GUI and think about how they really want to work.
Pretty cool, eh? Thank you Tomas.
But I like the idea so far.