What is Domain Driven Design?

Learn about Domain Driven Design, its goals, and the approaches it gives us to build software.

When a company acquires big projects, which are complex in terms of analysis and implementation, it can encounter problems. These problems might be caused if the company misunderstands business processes or develops a software solution that will not satisfy business requirements.

What are the goals of DDD?

The main goals that DDD seeks to satisfy originate from the book Domain-Driven Design: Tackling Complexity in the Heart of Software, written by Eric Evans in 2003. As its name suggests, DDD is designed to tackle complex problems rather than smaller, less complex ones. When it comes to the process of modeling small domains, DDD is not the best approach to use.

One of the book’s main goals is to outline how to develop software based on an evolving business model. This model is a representation of the structure, activities, processes, actors, and interactions that there are in a company. The different parts of a company can be depicted with the use of diagrams. For example, it is possible to use UML. Additionally, domain and technical experts must regularly interact with one another throughout the process of building such a model.

Get hands-on with 1200+ tech skills courses.