DDD Practitioner
Design resilient Java applications as a Domain Driven Design expert.
Are you struggling with messy code in large Java projects, vague boundaries between modules, or microservices that secretly form a "distributed monolith"? This hands-on training brings structure to the chaos. You will learn how to translate complex business logic into a clean, maintainable Java architecture.
The value of this training
You will get to work immediately with a real-world scenario, iteratively building a robust application using Spring Boot.
- ✅From Monolith to Microservices: You start with the basics using Clean Architecture and Tactical DDD.
- ✅Next, you will learn how to set up a clean, modular structure with Spring Modulith, allowing you to seamlessly expand into true microservices later without the pain.
- ✅Code Quality: Details make the difference. You will tackle code patterns head-on, including Single Responsibility, null handling, static constructors, and smart Dependency Injection via the ObjectFactory.
- ✅Implementing Real-World Business Logic: You will learn how to seamlessly integrate complex, changing business rules into your domain model without disrupting the rest of your application.
- ✅Living Documentation: By defining scenarios based on the domain model and working with BDD (Behavior-Driven Development), you ensure that code and business always stay perfectly aligned.
What you will practically do and learn
Throughout the course, you will navigate the full development cycle using a Git code repository
- ✅Modeling & Sparring: Actively discuss the domain model and map out scenarios.
- ✅Designing Aggregates & Entities: Master state management and establish clear entity boundaries within your Aggregate.
- ✅Iterative Building: Build controllers, DomainServices, DomainRepositories, Commands, and DomainEvents step by step.
- ✅Bounded Context Communication: Ensure different modules communicate cleanly and remain completely decoupled.
- ✅Refactoring to Microservices: Extract a bounded context live from your modulith and successfully refactor the adapters.