So we have been thinking about an application in something of a DDD-ish way. The book was pretty much structured the same way, by which I mean the following:

  1. First we try to collect the requirements and understand the problem.

  2. Next we think about which approach to use for structuring the main logic. According to Fowler, we can choose from Transaction Script, Table Module, and Domain Model [Fowler PoEAA]. If the requirements signal that this is a complex (regarding behavior and/or relationships) and long-lived project, we will probably choose Domain Model.

  3. Then we need a certain style for the Domain Model, not only to avoid common traps, but also to create something really powerful. That's where DDD comes in. We try to settle the Ubiquitous Language [Evans DDD]. We work hard with the Domain Model, trying to make it knowledge rich.

  4. After that it's time to think about the distractions: the required infrastructure. The most typical problem to consider is how to deal with persistence. If possible, object relational mapping is a popular choice for DDD projects. (Instead of the somewhat overloaded term "infrastructure," let's describe this as it's all about mapping the model to other tiers, such as presentation, persistence, and integration services.)

  5. Finally, needless to say, there are lots of other things to consider, such as how to deal with presentation.

Not that I think it's a waterfall process, not at all, but a book is sequential by nature and consequently more often than not the description will be as well. It's important to remember and stress the iterative and incremental style of development that is required to mitigate risk and lead to a successful project.

OK, it's over. This book, that is. But as Dan said, it's just the beginning.

Just one more thing: I started this book talking about how I value "lagom" (something like not too much and not too little, but rather balanced). Has the book been "lagom"? Well, I think to some it has been extreme in some directions, and perhaps "lagom" in others.

What is balanced is all in the eye and in the context of the observer.

Applying Domain-Driven Design and Patterns(c) With Examples in C# and  .NET
Applying Domain-Driven Design and Patterns: With Examples in C# and .NET
ISBN: 0321268202
EAN: 2147483647
Year: 2006
Pages: 179
Authors: Jimmy Nilsson

Similar book on Amazon

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net