文章目录
写在最前面的一些胡扯:之前直接对SSM进行了一个霸王硬上弓,导致很多东西不甚理解,今天对MVC和三层架构这些东西来补补课
1. MVC
1.1 什么是MVC
MVC是一种分层开发的框架模式,将开发分为三个模块
M: Model, 指的是业务模型,用来处理业务的业务逻辑
V: View, 指视图,用来展示的用户界面
C: Controller,指控制器,用来处理接收的请求,调用以及同步M与V,起到粘合剂的作用
三者关系如图所示:经典MVC,虽然JSP现在不太用了
1.2 为什么需要MVC
将软件的用户界面和后台逻辑进行了分离,使代码可扩展性、可复用性、可维护性、灵活性加强。
- 职责单一,互不影响
- 利于不同层之间的分工协助
- 有利于组件的重用
2. 项目的三层架构
如图所示项目分为表现层,业务逻辑层,数据访问层三层。SSM就是对这三层架构的封装
2.1 表现层 User Interface layer
包的名字一般为XXname.web/controller
接收请求,封装数据,调用业务逻辑层,响应数据
封装以后成了SpringMVC框架
2.2 业务逻辑层 Business Logic Layer
包的名字叫XXname.service
该层封装了业务逻辑,组合DAO层中的基本功能
封装以后成了Spring框架
2.3 数据访问层 Data Access Layer
包的名字叫XXname.dao/mapper
该层包括了对数据库的CRUD操作
封装以后成了MyBatis框架
2.4 为什么要有三层架构
先抄的别人的话:三层架构的核心思想是面向接口编程和各层之间的解耦和可替换性
3. MVC和三层架构的关系
暂时理解还不深刻,套用别人的话,三层架构是MVC模式的具体实现方式。如图所示: