Skip to main content

2 docs tagged with "architecture"

View all tags

Domain Driven Design

Domain Driven Design (DDD) is a design pattern that models complex business processes (the “domain”) according to input from that domain's experts. Following the DDD pattern, business logic is contained within their contexts, resulting concise services that deal with a single opinion. As each service has one responsibility, they are individually smaller, easier to understand, and quicker to engineer.

Domain Layering

In order to fulfil Domain Driven Design's (DDD) requirement for a pure domain layer, we can use the Layered Architecture pattern to provide isolation for the domain logic from the rest of the service. Expanding outwards, we can then provide isolation for the controllers of the flow of the business process (called the application layer), and finally isolation for the necessary infrastructure to support the service (called the infrastructure layer). These three layers provide us with a structured framework on which all DDD-driven services are built.