OOP 2025
History and Foundations of Software Architecture
How do you structure your programme correctly? This has been a central question since the early days of software development. This talk takes a look at the history of software architecture to understand why we build software the way we do. We start with basics such as information hiding, modularity, separation of concerns and loose coupling. We move on to principles such as layering and design patterns. We conclude with a look at modern ideas such as hexagonal architecture, onion architecture, SOLID and the software architecture hamburger.