

The classic example of this approach is an application that has both a robust transactional footprint and a portfolio of reports. They're very useful in dividing a system to achieve desired architectural examples. The patterns and core tenets of DDD that I will discuss in this article are derived from the concepts that are detailed in this book.īounded Contexts needn't be organized solely by the functional area of an application.

DOMAIN DRIVEN DESIGN SOFTWARE
More than simply the original introduction to DDD, it is a treasure trove of information by one of the industry's most seasoned software designers. If the ideas presented here appeal to you, I highly recommend that you deepen your toolbox by reading the book Domain-Driven Design: Tackling Complexity in the Heart of Software, by Eric Evans. To provide some context to the discussion, I'm using a complex business domain with which I'm familiar: insurance policy management. Think of this article as a gentle introduction to designing and evolving rich domain models. In this article, I'll cover the basic concepts and design patterns germane to DDD. These models encapsulate complex business logic, closing the gap between business reality and code. Properly applied it can lead to software abstractions called domain models. Repositories Save and Dispense Aggregate Rootsĭomain-Driven Design(DDD) is a collection of principles and patterns that help developers craft elegant object systems. This article uses the following technologies:

Using the Single Responsibility Principle.Volume 24 Number 02 Best Practice - An Introduction To Domain-Driven Design
