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:
- There any similar application like Habanero witch fully support Domain Driven Design by determining aggregate roots, entities and value objects
- Is it right decision to use such tools in big organizations
- Does it worth training our team on such a tool
thank you
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
orValueObject
is fundamentally broken. It doesn't provides any real value to an application, just useless indirections.However:
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.