Domain-Driven Design in Practice: A Large-Scale Empirical Characterisation of the Open-Source Ecosystem
Summary
A large-scale empirical study characterized Domain-Driven Design (DDD) adoption across 2,502 verified open-source GitHub repositories, utilizing a novel GPT-4o semantic validation pipeline that achieved substantial agreement with human experts (Cohen's κ=0.77). The research found that DDD adoption sharply accelerated after an inflection point in 2017, with projects exhibiting a median lifespan of 340.37 days, significantly exceeding the typical GitHub project's 9.9 days. Layered Architecture (28.9%) and Clean Architecture (22.78%) are the most prevalent structural patterns, while CQRS and Event Sourcing are common in distributed, data-intensive systems. Notably, C# (34.17%) and TypeScript (17.71%) emerged as leading languages for practical DDD, challenging the Java-centric assumption of much academic work. However, 25.3% of projects lack explicit business context in their documentation.
Key takeaway
For software engineers and architects designing complex systems, recognize that Domain-Driven Design (DDD) is a mature, professionally adopted paradigm, particularly in C# and TypeScript ecosystems. You should prioritize explicit business context documentation within your version-controlled artifacts to bridge the design-implementation gap. Consider adopting established reference architectures like CQRS and Event Sourcing for distributed, data-intensive applications, drawing inspiration from high-fidelity open-source projects.
Key insights
Domain-Driven Design has matured into a professional-grade practice, driven by C# and TypeScript, with strong community engagement.
Principles
- DDD projects exhibit significantly longer lifespans than typical open-source projects.
- Semantic validation using LLMs can reliably classify architectural patterns at scale.
- Explicitly documenting business context in DDD projects is often overlooked.
Method
A Mining Software Repositories (MSR) methodology used a hybrid mining strategy (topics and README keywords) to identify initial repositories, followed by a GPT-4o semantic validation pipeline with triplicate majority-vote for high-fidelity dataset creation.
In practice
- Use C# or TypeScript for new DDD implementations.
- Implement architectural traceability standards for business context.
- Utilize LLMs for large-scale code classification and validation.
Topics
- Domain-Driven Design
- Software Architecture
- Mining Software Repositories
- Large Language Models
- C# and TypeScript
- Architectural Traceability
Code references
Best for: Software Engineer, Research Scientist, AI Scientist
Related on AIssential
Editorial summary, takeaway, and curation by AIssential. Original article published by cs.SE updates on arXiv.org.