零几年最早接触编程时,写的课程设计就是MVC架构,这就是一种典型的分层架构。
一、分层概念
分层是一种常见的根据系统中的角色/职责拆分和组织代码单元的常规实践。注:本文说的不单指后端架构,而是整个软件的分层架构,包含前端、后端、数据库。
在一个分层系统中,每一层:
- 依赖它之下的层;
- 和它之上的层无关,对使用(依赖)它的层次无感知。
在分层架构中,分层可以访问它之下的任何分层。
二、分层历史
2.1 单层架构--20 世纪 60 年代和 70 年代
当时的应用程序和今天的应用程序截然不同。那时还没有 GUI。所有的应用程序要通过命令行使用,显示在一个哑终端里,它们实际上是单层的应用程序。如下图所示
2.2 三层架构--20 世纪 80 年代和 90 年代
在 20 世纪 80 年代,企业应用出现了,在公司里有多个用户开始使用桌面电脑通过网络访问应用。
这时它们多半分成三层:
- 用户界面(展现):用户界面就是网页、命令行或者原生桌面应用;