3 ms·
> Domain-Driven Design (DDD) is the concept that prioritizes business concepts over other types of classification in your codebase (like grouping by file type).
by tedyoung 6y ago
> Domain-Driven Design (DDD) is the concept that prioritizes business concepts over other types of classification in your codebase (like grouping by file type).
Well, no, it's not. It's true that DDD-based architectures (like Hexagonal or Ports & Adapters) do provide guidance on code organization (I teach courses on this), but to say that code organization is DDD is misleading at best.
As others have said, DDD is so much more than that, and I'd summarize DDD as making Domain Concepts and Behavior primary, instead of the Data (and databases) being the focus.
- rualca 6y ago> (...) I'd summarize DDD as making Domain Concepts and Behavior primary, instead of the Data (and databases) being the focus. That take is disputable. Arguably, the focus of DDD is indeed the data, because the data structure is designed to reflect functional requirements dictated by the domain, thus serving as a model of said domain. The focus of DDD is to implement that data structure that allows to model the domain, and from there drive the application design. Databases are not relevant, though, as they are just an implentation detail of an external service. In fact, databases follow a persistence model, which more often than not is significantly different as it's dictated by implementation details.