INTRODUCTION

Introduction(导读)

软件架构编年史

  • 20世纪50年代
    • 非结构化编程
    • ~1951 – 汇编
  • 20世纪60年代
    • 结构化编程
    • 分层:用户界面、业务逻辑数据存储都在一层
    • ~1958 – Algol
  • 20世纪70年代
    • 过程式/函数式编程
    • ~1970 – Pascal
    • ~1972 – C
    • 1979MVC模式(Model-View-Controller)
  • 20世纪80年代
    • 面向对象编程(但其思想在 20世纪60年代晚期已经第一次提出)
    • 分层:两层,第一层是用户界面,第二层是业务逻辑和数据存储
    • ~1980 – C++
    • CORBA – 通用物件请求代理架构(尽管1991才推出第一个稳定版,但最早使用可以追溯到 20世纪80年代)
    • ~1986 – Erlang
    • ~1987 – Perl
    • 1987PACHMVC模式(Hierarchical Model-View-Controller)
    • 1988LSP(里氏替换原则)(~SOLID)
  • 20世纪90年代
    • 分层:三层,第一层是用户界面,第二层是业务逻辑(以及浏览器作为客户端时的用户界面展现逻辑),第三层是数据存储
    • ~1991 – 消息总线
    • ~1991 – Python
    • 1992EBI架构(Entity-Boundary-Interactor)EBCEIC
    • ~1993 – Ruby
    • ~1995 – Delphi, Java, Javascript, PHP
    • 1996MVP模式(Model-View-Presenter)
    • 1996OCP, ISP, DIP (~SOLID), REP, CRP, CCP, ADP
    • 1997 – SDP, SAP
    • ~1997面向方面编程
    • ~1997 – Web服务
    • ~1997ESB – 企业服务总线(尽管创造该术语的书籍2004年才出版,但这个概念早已被使用)
  • 21世纪00年代
    • 2002SRP (~SOLID)
    • 2003领域驱动设计
    • 2005MVVM模式(Model-View-ViewModel)
    • 2005端口和适配器架构即六边形架构
    • 2006? – CQRSES(命令查询职责分离与事件溯源)
    • 2008洋葱架构
    • 2009微服务(Netflix)
  • 21世纪10年代
    • 2010DCI架构(Data-Context-Interaction)
    • 2012整洁架构
    • 2014C4模型