- 1950s
- Non-structured Programming
- ~1951 – Assembly
- 1960s
- Structured Programming
- Layering: 1 tier with the UI, Business Logic and Data Storage
- ~1958 – Algol
- 1970s
- Procedural / Functional Programming
- ~1970 – Pascal
- ~1972 – C
- 1979 – Model-View-Controller
- 1980s
- Object Oriented Programming (first thoughts were in the late 1960s, though)
- Layering: 2 tier, the 1st tier with the UI, the 2nd tier with Business Logic and Data Storage
- ~1980 – C++
- CORBA – Common Object Request Broker Architecture (though the first stable version was only out in 1991, the first usages were during the 1980s)
- ~1986 – Erlang
- ~1987 – Perl
- 1987 – PAC aka Hierarchical Model-View-Controller
- 1988 – LSP (~SOLID)
- 1990s
- Layering: 3 tier, the 1st tier with the UI, the 2nd tier Business Logic (and the UI presentation logic in case of a browser as client), the 3rd tier with the Data Storage
- ~1991 – Message Bus
- ~1991 – Python
- 1992 – Entity-Boundary-Interactor Architecture aka EBC aka EIC
- ~1993 – Ruby
- ~1995 – Delphi, Java, Javascript, PHP
- 1996 – Model-View-Presenter
- 1996 – OCP, ISP, DIP (~SOLID), REP, CRP, CCP, ADP
- 1997 – SDP, SAP
- ~1997 – Aspect Oriented Programming
- ~1997 – Web Services
- ~1997 – ESB – Enterprise Service Bus (although the book that coined the term was published in 2004, the concept was already used before)
- 2000s
- 2002 – SRP (~SOLID)
- 2003 – Domain-Driven Design
- 2005 – Model-View-ViewModel
- 2005 – Ports & Adapters Architecture aka Hexagonal Architecture
- 2006? – CQRS & ES (Command Query Responsibility Segregation & Event Sourcing)
- 2008 – Onion Architecture
- 2009 – Microservices (at Netflix)
- 2010s
- 2010 – Data-Context-Interaction Architecture
- 2012 – Clean Architecture
- 2014 – C4 Model
Tham khảo: The Software Architecture Chronicles