This section will cover the benefits and drawbacks that people may encounter when implementing DDD. These will lead to better trade-offs, which will result in the best outcome for companies and projects.

Benefits of DDD

Flexibility

When a project is based on DDD, it is easier to evolve and change things like business processes, implementations, or technological stacks, which gives us a better time to market.

Code is organized

Domain Driven Design can work together with hexagonal architecture. Hexagonal architecture aims to organize the code of an application into a specific structure. It helps developers to understand and modify code more easily.

Business logic lives in one place

When a code is organized on the basis of hexagonal architecture, there is a layer where all of the business objects are placed. This layer allows for a team to change business logic more easily, because it only needs to concentrate on one layer. The yellow hexagon in the image below represents the logic that is defined through the analysis of a business process. It is easy to evolve code in this layer whenever there is a change in the business rules. The business logic code must not spread out over to other layers.

Get hands-on with 1200+ tech skills courses.