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-InteractorArchitecture 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
网友评论