tl;dr:"The 3 most talked about patterns are Clean, Hexagonal, and Onion Architecture... all define a loosely coupled testable system that avoids any direct dependencies in terms of implementation, yet do so using their own terminology and each with specific nuances. They all suggest approaches to make software architectures more manageable and testable." Rahul looks at each as well as key architectural takeaways applicable regardless of approach.