Clean Architecture 2021


Victor Rentea
Independent Trainer

Victor is a Java Champion and an Independent Trainer delivering intense webinars for dozens of companies worldwide since 2014. His passion is Simple Design, Refactoring, and Unit Testing, about which he regularly talks at top conferences, but also to the Bucharest Software Craftsmanship Community that he founded. On you can find his blog, best talks, training curriculum, live masterclasses, and social channels.

The architecture of your application should support you in solving the most complex part of your logic in the most simple possible way. Any other goal of your architecture should be secondary to this. Very often however you don't know where the complexity of your application will pile up, especially in an agile environment where requirements cannot be anticipated. Even in slower-moving environments, time eventually destroys any structure you might plan ahead. What should you do?

This presentation approaches architecture with an evolutionary mindset aimed to Keep your code Short and Simple (KISS) for as long as possible, without adding extra complexity upfront, but always watching out for break-down opportunities and continuously refactoring towards the most simple design that will suit your present needs. Drawing many concepts from the Domain-Driven Development mindset, this talk summarizes the most important lessons learned by designing and implementing 7 real-world projects that Victor lead.

Along the way, we'll cover the essence of: - Value Objects - Entities - Dependency Inversion Principle - Facade aka Application Service - The Onion Architecture (aka Hexagonal, Ports-and-adapters...) - Pure Functions/Imperative Shell ideology - Many real-life pragmatic tips and tricks