Fundamentals 7 min read

Understanding Core, Generic, and Supporting Domains in DDD Using a Peach Tree Analogy

The article explains how to decompose a business problem into domains, subdomains, core, generic, and supporting domains by using a peach tree analogy, illustrating the steps and reasons for such classification in Domain‑Driven Design and microservice architecture.

Top Architect
Top Architect
Top Architect
Understanding Core, Generic, and Supporting Domains in DDD Using a Peach Tree Analogy

The author, a senior architect, revisits the peach‑tree example previously used to illustrate Domain‑Driven Design (DDD) and shows how to map a business problem onto domains and subdomains.

Step 1: Identify the research object – the peach tree – as the overall domain to be studied.

Step 2: Split the domain into organs (roots, stem, leaves, flowers, fruits, seeds), which become subdomains; these are further grouped into nutritional organs (roots, stem, leaves) and reproductive organs (flowers, fruits, seeds).

Step 3: Within each subdomain, distinguish core, generic, and supporting domains, then break them down into organizations (protective, nutritional, transport) and finally into cells (e.g., root‑hair cells, vessel cells).

The article defines key terms: Domain – a business area; Subdomain – a finer‑grained part of a domain; Core Domain – the most critical part that provides competitive advantage; Generic Domain – reusable functions such as authentication; Supporting Domain – non‑core, non‑generic functions that enable operations.

It explains why this classification matters: the core domain drives profit and should receive the most resources, the generic domain offers common services that can be bought or reused, and the supporting domain handles ancillary tasks; aligning resources accordingly improves efficiency and strategic focus.

Overall, dividing a system into core, generic, and supporting domains helps teams allocate effort, clarify responsibilities, and design microservices that reflect business priorities.

software architecturemicroservicesDomain-Driven DesignDDDCore DomainGeneric DomainSupporting Domain
Top Architect
Written by

Top Architect

Top Architect focuses on sharing practical architecture knowledge, covering enterprise, system, website, large‑scale distributed, and high‑availability architectures, plus architecture adjustments using internet technologies. We welcome idea‑driven, sharing‑oriented architects to exchange and learn together.

0 followers
Reader feedback

How this landed with the community

login Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.