none
Is this DDD? RRS feed

  • Question

  • I've been reviewing Imar Spaanjaars N-Layered Web Applications with ASP.NET  and I am wondering whether his design is considered DDD?  I've been following a similar paradigm in most of my applications, with manager classes operating on my entities .  My understanding is that DDD requires the domain objects (in my case entities) to encapsulate business logic.  In Imar's example the logic is split between the entity and the manager.  For example the entity is responsible for validating itself, however the manager is responsible for invoking that validation then forwarding the entity to the repository/dao to be persisted.  Also the manager class handles workflow type concerns.  For example deleting a ContactPerson, it will also know to go ahead and delete the addresses, emails, and phone numbers associated with that ContactPerson.

    So, I am struggling to understand whether this is DDD or does it have a hint of the anemic data model which is apparently an anti-pattern?

    Tuesday, August 3, 2010 6:41 PM

All replies

  • DDD handles most of the business logic in the Service layer and much of the entity logic in the entities.  A couple of the key components in DDD are Aggregate Root, Entity Object and Value Object.  These are the tenets by which I determine if something is DDD.  You can check out a partial explanation from me here at http://stackoverflow.com/questions/1338139/ddd-principlers-and-asp-net-mvc-project-design/1338305#1338305, but I'd highly recommend reading Domain Driven Design quickly at http://www.infoq.com/minibooks/domain-driven-design-quickly.

    FWIW, it sounds like Imar's pretty close to pure DDD, but I say this w/o reading the articles and base it on your description of what it is he's doing.  There's too much information on his site for me to digest and get you a prompt answer.

    Hope this helps.

    Tuesday, August 3, 2010 9:10 PM