Friday, June 25, 2021

Clean Architecture 2021
Victor Rentea
Victor Rentea
Independent Trainer

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