
Domain-driven Design with Java
Building scalable and maintainable Java applications with DDD principles (English Edition)
- English
- ePUB (mobile friendly)
- Available on iOS & Android
Domain-driven Design with Java
Building scalable and maintainable Java applications with DDD principles (English Edition)
About this book
Description
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.
? 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. Table of Contents
1. Understanding Domain-driven Design
2. Strategic DDD Concepts
3. Tactical DDD Implementation
4. Testing and Validating DDD Applications
5. DDD in Microservices, Monoliths, and Distributed Systems
6. Integrating DDD with Clean Architecture
7. DDD and Data Modeling
8. Enterprise Java with Jakarta EE
9. Enterprise Java with Spring
10. Eclipse MicroProfile and Domain-driven Design
11. Quarkus and Domain-driven Design
12. Code Design and Best Practices for DDD
13. Final Considerations
Frequently asked questions
- Essential is ideal for learners and professionals who enjoy exploring a wide range of subjects. Access the Essential Library with 800,000+ trusted titles and best-sellers across business, personal growth, and the humanities. Includes unlimited reading time and Standard Read Aloud voice.
- Complete: Perfect for advanced learners and researchers needing full, unrestricted access. Unlock 1.4M+ books across hundreds of subjects, including academic and specialized titles. The Complete Plan also includes advanced features like Premium Read Aloud and Research Assistant.
Please note we cannot support devices running on iOS 13 and Android 7 or earlier. Learn more about using the app.
Information
Table of contents
- Cover
- Title Page
- Copyright Page
- Dedication Page
- About the Author
- About the Reviewer
- Acknowledgement
- Preface
- Table of Contents
- 1. Understanding Domain-driven Design
- 2. Strategic DDD Concepts
- 3. Tactical DDD Implementation
- 4. Testing and Validating DDD Applications
- 5. DDD in Microservices, Monoliths, and Distributed Systems
- 6. Integrating DDD with Clean Architecture
- 7. DDD and Data Modeling
- 8. Enterprise Java with Jakarta EE
- 9. Enterprise Java with Spring
- 10. Eclipse MicroProfile and Domain-driven Design
- 11. Quarkus and Domain-driven Design
- 12. Code Design and Best Practices for DDD
- 13. Final Considerations
- Index