ghazyy
ghazyy

Reputation: 749

Enterprise application framework supporting DDD

I spent short time studing Habanero and i found it good approach for making Enterprise Application in a really short period of time. The pattern witch Habanero use is "Active Record" as it's developers say. My questions are:

  1. There any similar application like Habanero witch fully support Domain Driven Design by determining aggregate roots, entities and value objects
  2. Is it right decision to use such tools in big organizations
  3. Does it worth training our team on such a tool

thank you

Upvotes: 1

Views: 1994

Answers (1)

Giacomo Tesio
Giacomo Tesio

Reputation: 7210

Framework support for Domain Driven Design is quite different from frameworks supporting data driven applications. Such framework should increase the productivity of developers that works with an ubiquitous language that evolves with the business and that is learned by a domain-expert.

They should not face concepts like aggregates, root, value objects because they are just modelling concepts, conceptual tools, but ways to ease the development process. Thus a framework exposing abstract classes or interfaces named AggregateRoot, Entity or ValueObject is fundamentally broken. It doesn't provides any real value to an application, just useless indirections.

However:

  1. There are a few frameworks designed to support domain driven design, listed here. Moreover, I'm developing one by myself based on previous experiences that worked very well
  2. It depends, obviosly. For example we used all of the Epic's modeling patterns with success.
    We used some "home made" framewoks too, and some of them proved to really increase productivity. However, such frameworks (if useful) always have steep learning curves and it depends very much on how much reliable the software have to be and what are the developers skills.
  3. It depends on the framework, on the complexity of the business (if you don't need a domain expert to understand it, you don't need DDD) and on the developers, too. I faced successful stories and huge failures with different frameworks in different contexts. I've also had a conference that faced the topic (you can see the slides here).

Upvotes: 6

Related Questions