Reference implementations of Bounded Contexts from Vaughn Vernon's 'Implementing Domain-Driven Design' book.
IDDD_Samples is a collection of reference implementations demonstrating Bounded Contexts and architectural patterns from Vaughn Vernon's book 'Implementing Domain-Driven Design'. It provides practical examples of DDD concepts including Event Sourcing, CQRS, and different persistence strategies across multiple sample projects. These implementations help developers understand how to apply DDD patterns in real software systems.
Software developers, architects, and technical leads learning Domain-Driven Design who want to see practical implementations of DDD patterns and architectural approaches. The samples are particularly valuable for those reading Vernon's book who want concrete code examples to accompany the theoretical concepts.
These samples provide authoritative, book-aligned implementations that demonstrate multiple architectural approaches within DDD, allowing developers to compare different persistence strategies, messaging patterns, and bounded context designs in a single cohesive reference set.
These are the sample Bounded Contexts from the book "Implementing Domain-Driven Design" by Vaughn Vernon: http://vaughnvernon.co/?page_id=168
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Includes four distinct sample projects (AgilePM, Collaboration, IdentityAccess, Common) that demonstrate different DDD implementations, providing varied learning scenarios as highlighted in the README.
Each project uses different persistence mechanisms like LevelDB, Hibernate, and Event Sourcing with CQRS, illustrating practical trade-offs in DDD architectures as described in the Points of Interest.
The Collaboration project implements Event Sourcing and CQRS with separate read/write models, offering a hands-on example without ORM dependencies, as noted in the README.
Explicitly designed as a reference set with intentional architectural decisions to help understand DDD patterns, based on Vaughn Vernon's authoritative book.
Requires Java 7 and is incompatible with Java 8+, limiting its use in modern development environments and requiring workarounds for current tooling.
The README admits that some tests may be incomplete and the code is in flux, reducing reliability for those expecting a fully polished learning resource.
Requires MySQL, RabbitMQ, and Docker for proper setup, which adds overhead and can be a barrier for quick experimentation or environments without container support.