I found a FREE guide on Domain-Driven Design that I found helpful. How is it relevant anymore?
It seems like writing code is less significant than modeling your system.
Have you found value in domain-driven design techniques? Or did you find that modeling is not worth the effort?
What do you think?
Top comments (7)
Like pretty much every technique, DDD has its use cases: complex business logic. I've seen DDD taken to the extreme and used as a golden hammer, for example I've seen CRUD-like application made extremely complex because someone decided to use DDD
The CRUD system, itself does not imply intent, and that's the issue.
What if I want to make a promotion on specific item, in the crud world I update the item price, since everything is aggregated.
But what if I want to update the price for 3 days and then revert back?
As you can see my CRUD makes it complicated
I'm reading Domain Modeling Made Functional by Scott Wlaschin and its completely blown my mind. I haven't got the chance to work with it yet tho.
Great reminder! C# has records now! I might need to read it again.
I don't think DDD means "overcomplexity." It's pretty much the contrary, as you focus on the business.
I'm definitely not an expert in this area, but I've read stuff, and it seems some DDD patterns allows for simpler implementation.
Absolutely, concepts of DDD does help you to understand the sytems you are building better. I am currently learning DDD and started to share my journey as I am building a SaaS app - you can check out here Building SaaS with DDD & Clean Architecture in Python — Issue 1
You don't have to follow or be a hardcore DDD dev, follow what works best for the system that you are building, there is no perfect architecture.
The only issue with DDD is it really hard