Автор: Otavio Santana
Издательство: BPB Publications
Год: 2026
Страниц: 302
Язык: английский
Формат: epub (true)
Размер: 10.1 MB
Domain-driven Design (DDD) continues to shape how modern software systems are built by bridging the gap between technical teams and business needs. Its emphasis on modeling the domain with precision and clarity is especially relevant in today’s fast-paced, complex software landscape.
This book begins with DDD fundamentals, including core principles, a shared language, and the distinction between strategic and tactical approaches, progressing to strategic concepts like bounded contexts, context mapping, and domain events. It explores the tactical Java implementation detailing entities, value objects, services, aggregates, and repositories. The book also explores testing strategies and architectural validation using ArchUnit/jMolecules. Further, it explores DDD across microservices, monoliths, and distributed systems, integrating with Clean Architecture and SQL/NoSQL data modeling to prevent impedance mismatch. It thoroughly covers applying DDD within Jakarta EE, Spring, Eclipse MicroProfile, and Quarkus.
By the end, you will be equipped to model business logic more effectively, design systems that reflect real-world domains, and integrate DDD seamlessly into enterprise applications. You will gain clarity, confidence, and the tools needed to build software that delivers business value.
The arduous task of assuring a practical implementation of complex rules and requirements is also challenging for applications designed using domain-driven design (DDD). The practice of automating tests is a way to ensure the code reflects a desired outcome. Unfortunately, when developers overly focus on testing the functionality’s behavior, the result may be a test that lacks the crucial validation of the expected business logic, and that cannot ensure the core domain model reflects the desired design. Over time, such gaps may lead to a drift from DDD principles. Having a structured approach is the best way to ensure the integrity of the deliverables' domain logic and overall architecture.
Mastering effective testing strategies is how you can clear the way and focus on the domain model, not only catching defects but also reinforcing DDD principles throughout your application. Unit testing, in particular, plays a crucial role in safeguarding business logic within key components, such as aggregates and entities. Technologies, such as ArchUnit, are available to support in ensuring the alignment between the architecture and the DDD best practices. By leveraging techniques for test automation, integration, and code validation, you can empower your team to create and evolve complex DDD applications confidently.
What you will learn:
- Apply DDD from strategic to tactical design.
- Model aggregates, entities, and value objects in Java.
- Use DDD in monoliths, microservices, and distributed systems.
- Integrate DDD with Spring and Jakarta EE frameworks.
- Apply Clean Architecture principles alongside DDD.
- Structure data modeling for SQL and NoSQL systems.
- Apply bounded contexts, context mapping, and domain events for architecture.
- Unit/integration testing, validate design with ArchUnit/jMolecules.
- Build responsive microservices with Quarkus extensions, reactive programming.
Who this book is for:
This book is ideal for Java developers, software architects, tech leads, and backend engineers. It is especially valuable for professionals designing scalable enterprise systems or applying DDD in modern software architecture.
Contents:
Скачать Domain-driven Design with Java: Building scalable and maintainable Java applications with DDD principles
