引子
做架构匆匆忙忙有几年后,忽然反思,自己对架构这一职位掌控到什么程度了?特整理出相关系列文章。从2个步骤来剖析架构:
- 1.整理学习软件架构历史。正所谓...以史为鉴,可以知兴替。(2022.7-10月)
- 2.理论结合实践,阐述工作中遇到的架构问题和解决方案。(2022.9-无穷大)
一翻网上冲浪后,找到几篇不错的文章。特地整理出来。
一、软件架构编年史系列
- 软件架构编年史(译) //原文
- 软件架构预述(译) //原文
- 编程语言的演化(译) //原文
- 架构风格 vs. 架构模式 vs. 设计模式(译) //原文
- 单体架构(译) //原文
- 分层架构(译) //原文
- MVC 及其变种(译) //原文
- 1979 – Model-View-Controller(译) //原文
- 1987/2000 – PAC / Hierarchical Model-View-Controller(译) //原文
- 1996 – Model-View-Presenter(译) //原文
- 1998 –”Model 1″ & “Model 2” (译) //原文
- 2005 – Model-View-ViewModel(译) //原文
- ???? – Model-View-Presenter-ViewModel(译) //原文
- 2008 – Resource-Method-Representation(译) //原文
- 2014 – Action-Domain-Responder(译) //原文
- EBI 架构(译) //原文
- 包与命名空间(译) //原文
- 领域驱动设计(译) //原文
- 端口和适配器架构(六边形架构)(译) //原文
- 洋葱架构(译) //原文
- 整洁架构(译) //原文
- 事件驱动的架构(译) //原文
- 从 CQS 到 CQRS(译) //原文
- 面向服务的架构(SOA)(译) //原文
- 清晰架构(01):融合 DDD、洋葱架构、整洁架构、CQRS...(译) //原文
- 清晰架构(02):超越同心圆分层 (译) //原文
- 清晰架构(03):在代码中展现架构和领域 (译) //原文
- 清晰架构(04):用文档描述架构 (译) //原文
时间线
下面是我在阅读所有这些主题的文章和书籍之后总结的一条软件开发发展的粗略的时间线。我找到的关于确切时间的参考资料都作为链接加入了时间线,拿不准的时间我都加上了“~”,表示“大约”是这个时间。我们还可以在维基百科的编程范式主页上找到大量相关的内容。
这里列出的大多数话题都将在这个系列中谈及。
- 20 世纪 50 年代
- 非结构化编程
- ~1951 – 汇编
- 20 世纪 60 年代
- 结构化编程
- 分层: 用户界面、业务逻辑数据存储都在一层。
- ~1958 – Algol
- 20 世纪 70 年代
- 过程式/函数式编程
- ~1970 – Pascal
- ~1972 – C
- 1979 – MVC 模式(Model-View-Controller)
- 20 世纪 80 年代
- 面向对象编程 (但其思想在 20 世纪 60 年代晚期已经第一次提出)
- 分层: 两层,第一层是用户界面,第二层是业务逻辑和数据存储
- ~1980 – C++
- CORBA – 通用物件请求代理架构(尽管1991年才推出第一个稳定版,但最早使用可以追溯到 20 世纪 80 年代)
- ~1986 – Erlang
- ~1987 – Perl
- 1987 – PAC 即 HMVC 模式(Hierarchical Model-View-Controller)
- 1988 – LSP(里氏替换原则) (~SOLID)
- 20 世纪 90 年代
- 分层: 三层,第一层是用户界面,第二层是业务逻辑(以及浏览器作为客户端时的用户界面展现逻辑),第三层是数据存储
- ~1991 – 消息总线
- ~1991 – Python
- 1992 – EBI 架构(Entity-Boundary-Interactor) 即 EBC 或 EIC
- ~1993 – Ruby
- ~1995 – Delphi, Java, Javascript, PHP
- 1996 – MVP 模式(Model-View-Presenter)
- 1996 – OCP, ISP, DIP (~SOLID), REP, CRP, CCP, ADP
- 1997 – SDP, SAP
- ~1997 – 面向方面编程
- ~1997 – Web 服务
- ~1997 – ESB – 企业服务总线 (尽管创造该术语的书籍2004年才出版,但这个概念早已被使用)
- 21 世纪 00 年代
- 21 世纪 10 年代
=============参考===================
原文:https://herbertograca.com/2017/07/03/the-software-architecture-chronicles/
译文:https://www.jianshu.com/p/b477b2cc6cfa