theme: juejin
前言
-
何为架构 架构大致可以分为系统架构和应用架构,系统架构也可称为网络架构,应用架构也可称为代码架构。
-
为何架构 业务简单时,所有服务都部署在同一台服务器上,开发和维护都比较方便,而随着业务复杂度越来越高,开发和维护成本都呈线性增长,为了降低系统各模块的耦合度,提高业务的稳定性和灵活性,我们就需要考虑做系统架构。下面简单讨论三层架构和MVC。
三层架构
-
什么是三层架构
三层架构主要是指服务端应用架构,其包含表示层,逻辑层,数据层。每一层都可以独立运行,独立开发,独立部署,因此具备很强的扩展性。
-
详细介绍
2.1 表示层
表示层位于最上层,与用户直接交互,收集用户输入信息并展示系统输出信息,可以以web浏览器,桌面应用程序或者图像用户界面(GUI)形式运行。
2.2 逻辑层
逻辑层连接表示层和数据层,是核心。通常逻辑层处理表示层输入,操作数据层并返回结果给表示层。 可以使用各种编程语言来开发逻辑层,如java,go,php,python等,通过api接口和数据层交互。
2.3 数据层
数据层通常要操作数据库,如mysql,oracle等,也称为持久层。
-
优势
- 提升开发效率: 由于每一层可以独立开发,可以交由不同团队开发
- 弹性伸缩:每一层按需部署,互不影响
- 提高稳定性:高内聚,低耦合,其中一层挂了其他层不受影响
- 安全性:逻辑层可对表示层数据过滤,提高安全性
MVC
-
什么是MVC
MVC即模型,视图和控制器,有了上面三层架构理解起来应该就容易多了。
-
详细介绍
2.1 视图
即用户界面,和用户直接交互,通常是浏览器html网页等
2.2 控制器
接收视图层的输入,调用模型处理请求,并返回数据给视图层
2.3 模型
处理数据对象,可以包含业务逻辑,数据改变会通知视图层更新。
-
优势
- 低耦合:视图和模型分离
- 提高代码复用:一个模型可以对接多个视图
- 模块化:代码逻辑分割,利于开发维护
对比
三层架构是对整个应用的划分,而MVC主要是对应用交互界面的可管理分层,它们主要都是解决“高内聚,低耦合”的问题。