Skip to content

Open Domains

Every domain deserves to be open, every piece of knowledge deserves to be reused

The core philosophy of OpenDDD is Open Domain. We believe that every business domain is an open knowledge boundary, and the design decisions, technical practices, and business rules within the domain should be explicitly expressed, structurally preserved, and freely reused.

What are Open Domains?

Traditional:  Domain knowledge → Implicit in code and minds → Lost as people leave
Open Domains: Domain knowledge → Explicit modeling + Structured preservation → Learnable, reusable, evolvable

Open domains mean:

PrincipleDescriptionPractice
Explicit ModelingDomain concepts, rules, and processes expressed explicitly in code and docsDDD entities, value objects, domain events
Structured PreservationKnowledge stored in searchable, composable formsSkill prompts, workflow templates, recipes
Free ReuseCross-project, cross-team knowledge reuse without starting from scratchReplace variables to use prompts and recipes
Open EvolutionKnowledge improved through sharing, validated through reuseTag system, quality standards, contributing guide

Current Open Domains

DomainCodeCore EntitiesStatusLearning Entry
ProChainprochainEnterprise, Product, Order, DocumentP0 ActiveDDD + Serverless
AI AgentagentAgent, Tool, Memory, OrchestratorP0 ActiveAgent Building
Content CreationcontentContent, Channel, Analytics, ScheduleP2 PlannedAI Agent Development
FreelancingfreelancingProject, Bid, Contract, DeliveryP1 DesignOne-Person Company

Knowledge Flow Between Domains

┌─────────────────────────────────────────────────────────┐
│                  OpenDDD Open Domain Ecosystem            │
│                                                           │
│  ProChain ──→ Domain modeling experience ──→ DDD prompts ──→ Reuse library │
│      │                          │                         │
│      ↓                          ↓                         │
│  Serverless recipe        Agent architecture recipe       │
│      │                          │                         │
│      └──────── Share ────────→ AI Agent ←── Content Creation │
│                                │          │               │
│                                ↓          ↓               │
│                          Workflow templates  Content strategy prompts │
│                                │                          │
│                                └──→ Freelancing (project matching) │
└─────────────────────────────────────────────────────────┘

Domain-Driven Design Principles

Every open domain follows the same DDD design principles:

  1. Bounded Context — Each domain has clear boundaries; domain concepts don't leak
  2. Ubiquitous Language — Consistent terminology within the domain; code is documentation
  3. Aggregate Root — Identify core entities and organize business logic around aggregates
  4. Domain Event — Domains are decoupled through events, not direct calls
  5. Anti-Corruption Layer — External integrations are isolated through ACL, protecting domain purity

How to Participate

  1. Explore domains — Start with Learning Roadmaps to understand domain design
  2. Reuse knowledge — Get prompts and recipes from the Reuse Library
  3. Contribute experience — Preserve your practical knowledge following the Contributing Guide
  4. Improve quality — Elevate knowledge maturity following Quality Standards

OpenDDD — Open Domains, Open Knowledge | openddd.com | 沪ICP备2022029625号-1