Talk given at Spring IO 2024 conference:
After years of Microservices hype, it seems that our industry now understands its costs and how difficult it is to build a distributed system. We are looking again towards building monolithic applications. But how can we develop monoliths that don’t turn into an unmaintainable mess? There is no single recipe, but we can say with a high degree of confidence that domain modeling techniques presented in Domain-Driven Design, in combination with Clean/Onion/Hexagonal Architecture, can significantly help in achieving clear and well-structured code aligned with the business needs.
In this talk, we will focus on the implementation aspects of DDD. You will understand what Aggregates, Value Objects, Repositories, Domain Events are, and how to implement them with Spring and other technologies from the Spring ecosystem. You will learn how to structure application services with Use Cases and how to leverage dependency inversion to separate technology-specific implementation details from the application and domain code.
GitHub repository: https://github.com/maciejwalkowiak/implementing-ddd-with-spring-talk