1、本篇博客的背景和目的

目前我本人正在学习MyBatis框架,在原先了解并且懵懵懂懂使用的基础上,开始系统正式的学习。本篇博客阐述一下MVC架构模式和三层架构,以及明晰一下我们通常在Web项目中的编码层次。

2、MVC架构模式

我们编写Web的时候,使用最多的就是MVC架构模式。

M指的是数据,V指的是视图,C指的是控制器。

控制器就是接收请求,调用我们的Service对象,显示请求的处理结果;我们以前就是使用Servlet来作为控制器的;

视图,我们原先使用的是jsp,HTML,JS,CSS  ,用来显示请求的处理结果;

数据肯定就可以来自于数据库,网络,文件等;

MVC的作用:可以实现解耦合;让MVC各负其职;使得系统的扩展性更好;更容易维护;

MVC更适合做WEB应用

3、三层架构模式

1、界面层(视图层):接收用户请求,调用Service,显示请求的处理结果;主要就是JSP,HTML   适合于用户直接打交道; 对应的包名就是controller

2、业务逻辑层:真正的处理业务逻辑,使用算法去处理数据的,将我们的数据返回给我们的界面层    它对应的就是service包,里面有很多  *****Service类;

3、持久层(数据访问层):这一层就是访问数据库的,或者是读取文件的,或者是访问网络获取数据的, 对应的包就是  dao  ,在里面就有很多的 ***Dao类

那么三层架构请求处理的流程是什么呢?

首先用户发起请求,然后就到了界面层,然后就又到了业务逻辑层;业务逻辑层需要数据,那么就又会访问持久层;持久层就会到了数据库(MySQL)。然后就是请求逆着回来展示给用户就可以啦;

使用三层架构是有很多优点的:

    1、结构清晰,耦合度低,各层分工明确;

    2、可维护性高,可扩展性高;有利于标准化;

    3、开发人员可以只关注整个结构中的其中某一层的功能的实现;

    4、有利于各层结构的复用;

三层架构中,每一层都会使用一个框架:

界面层:使用SpringMVC框架   调用Service,显示结果(都是后端的,当然前端的什么VUE啊,HTML,Thymeleaf引擎啊等,这里就先不涉及了)

业务层:Spring框架

持久层:MyBatis框架