liveBook · Manning

Domain-driven design

As explained in Automating API Delivery

Domain-driven design is an approach to software design that centers the structure and language of software on the underlying business domain.

Domain-driven design (DDD) centers software structure and language on a rich understanding of the business domain. It produces a domain model of business concepts, relationships, and workflows, then embeds a shared, rigorous ubiquitous language into the system. section 5.1

Apply DDD to API design by:

  • Modeling business operations and data from user stories, job stories, user journeys, and the domain model. section 5.1
  • Reviewing the model against the correct bounded context and principles such as single responsibility and encapsulation. section 5.1
  • Translating the agreed API model and operations into OpenAPI changes guided by the organization’s API style guide. section 5.1
Figure 5.1 API reviews happen at the design stage of your APIOps workflow. API reviews start after the automated checks all pass. The API review is completed when all review comments have been resolved and the PR is merged.
figure

Use the workflow view to place human API design review after automated checks and before pull-request merge. section 5.1

How Automating API Delivery covers it

How deep it goes
Defines domain models, ubiquitous language, and bounded contexts, then stops at conceptual API modeling and OpenAPI translation.
Examples
Uses business operations, data models, user journeys, and API model changes as design-review artifacts.
What it assumes
Assumes access to business-domain understanding and user or job stories while establishing shared terminology for software and domain experts.
What you can do after
Evaluate API models against bounded contexts and domain principles before implementing consistent API definitions.
How it connects
Connects domain models with ubiquitous language, bounded contexts, user stories, encapsulation, single responsibility, API design review, and OpenAPI.

Also explained in

Compare how 7 books explain domain-driven design →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Automating API Delivery. The section links point to the parts of the book it draws on.