Search papers, labs, and topics across Lattice.
This paper provides a comprehensive empirical analysis of Domain-Driven Design (DDD) within the open-source ecosystem on GitHub, addressing the gap in practical evaluation of the paradigm. By employing a Mining Software Repositories (MSR) approach and a novel semantic validation pipeline, the authors identified and verified 2,502 repositories, revealing that DDD adoption has significantly increased since 2017, with projects demonstrating exceptional longevity. The findings challenge the Java-centric perspective of DDD's academic discourse, highlighting C# and TypeScript as the leading languages in practical implementation while exposing a critical lack of business context in a quarter of the projects analyzed.
DDD has evolved into a robust practice beyond Java, with C# and TypeScript leading its adoption, yet a significant number of projects still lack essential business context.
Context: Domain-Driven Design (DDD) is a leading paradigm for managing software complexity, yet research remains largely theoretical; our prior work found nearly 39% of DDD studies lack rigorous empirical evaluation, leaving practical adoption largely unexamined at scale. Objective: We provide the first large-scale characterisation of the DDD landscape on GitHub, a data-driven baseline for how the paradigm is implemented and sustained in practice. Method: Using a Mining Software Repositories (MSR) approach with a hybrid strategy (topics and README keywords), we identified 11,742 candidate repositories. To address label noise, we built a novel semantic validation pipeline using GPT-4o with a triplicate majority-vote strategy, yielding 2,502 verified repositories. Validation against a manually labelled sample showed substantial agreement with human experts (kappa = 0.77). Results: DDD adoption accelerated sharply after a 2017 inflection point, and the resulting projects are notably long-lived: their median lifespan exceeds the typical GitHub project by over an order of magnitude, indicating sustained, professional-grade engineering rather than short-lived experiments. Layered and Clean Architecture dominate, while CQRS and Event Sourcing recur in distributed, data-intensive systems. Notably, the data challenge the Java-centric assumption of much academic work: C# and TypeScript, not Java, lead practical adoption. Conclusions: DDD has matured into a stable, professional-grade practice adopted across diverse languages and domains. However, a quarter of projects (25.3%) record no explicit business context, revealing a persistent gap between how domain intent is designed and how it is preserved in version control. We call for lightweight architectural traceability standards and offer guidance for teams reusing these repositories as reference implementations.