Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is Domain-Driven Design still valid right now? [closed]

We want to implement a model or guideline for our OO designs,. We like Domain-Driven Design. Our specific question is: do you think DDD is still valid right now beyond the pattern design? If so, do other approaches or variants exist that we should evaluate ?

Fundamentally we develop enterprise web and desktop applications using Visual studio (c#).

Thanks in advance

like image 400
Manuel Avatar asked Dec 30 '11 20:12

Manuel


2 Answers

In my opinion, DDD is as pertinent today as ever. The idea that one should strive for an Ubiquitous Language, such that the domain in code is not divorced from the domain as described by the domain experts, will probably remain a good idea for a long time, and it is easier today to focus on the domain first and consider persistence as a "secondary" problem than it used to be. It is also still true that DDD requires an important design effort, and its value is going to be proportional to how complex the domain is.

I have not written any application using the methodology, but I have been reading a lot on Event Sourcing and CQRS lately, and they both seems like a very interesting approach which should fit well with DDD (and are usually advocated by people who are DDD proponents).

I can't find it right now, but there is a video interviews of Eric Evans floating around somewhere on the web,You may be interested in watching this video of Eric Evans, which is a form of retrospective on the methodology a few years after writing the book, and what he would have done differently now.

like image 71
Mathias Avatar answered Oct 13 '22 05:10

Mathias


I think DDD is quite alive (or quite as dead) as before. My opinion is that the "domain" is a hot topic today because of DSLs (Domain-Specific Languages) and MDE (Model-Driven Engineering).

You may want to learn more about a similar "domain-driven" aproach, called DSM - Domain-Specific modeling. In DSM, you can work through patterns but you also define code generators that translate your domain-specific design into working code.

Check the DSM Forum or Wikipedia for more information about DSM.

The two most notable tools right now in this area are MetaEdit+ from MetaCase and AtomWeaver from Isomeris.

like image 26
Rui Curado Avatar answered Oct 13 '22 06:10

Rui Curado