前言

由于经常分不清 三层架构MVC 架构模式,这篇文章专门整理一下,以便更好的掌握并且应用到项目开发中

1. 三层架构

分层式结构,在软件体系架构设计中最常见,也是最重要的一种结构

分层

三层架构中,将整个项目分为:

  • 表示层(UI)
    • 又叫表述层/表现层/Web层
    • 负责展示数据和接收用户输入,完成用户与界面的交互
    • Servlet、JSP
  • 业务逻辑层(BLL)
    • 表示层和数据访问层之间的桥梁
    • 负责业务处理和数据传递
    • service
  • 数据访问层(DAL)
    • 又叫持久化层
    • 负责数据库的访问和操作
    • dao(JavaBean)

流程

应用

JavaWeb 项目中的目录结构:

1
2
3
4
5
6
7
8
9
Root
|--- src.main.java
|--- mapper 数据访问层
|--- pojo(bean) 数据访问层
|--- service 业务逻辑层
|--- web.action
|--- Servlet 表示层
|--- web
|--- jsp 表示层

2. MVC 架构模式

Model-View-Controller,一个经典的软件架构模式。从设计模式来看,MVC 模式是一种复合模式,结合了多种设计模式(组合模式、策略模式、观察者模式)

分层

MVC 模式,将软件划分为模型、视图、控制器

  • M:Model,模型层,负责处理数据和业务逻辑

  • V:View,视图层,负责与用户交互,展示数据

  • C:Controller,控制层,负责接收请求和响应浏览器

流程

应用

JavaWeb 项目中的目录结构:

1
2
3
4
5
6
7
8
9
10
Root
|--- src.main.java
|--- controller 控制层
|--- mapper 模型层
|--- pojo 模型层
|--- service 模型层
|--- resource
|--- ...
|--- webapp
|--- jsp 视图层

3. 三层架构和 MVC 架构模式的关系

经常搞不清二者的关系 TAT,查阅数篇文章发现,二者没有实质上的关系,并不冲突,可以共存,只是从不同维度进行分层。如下图: