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框架

4、我本专栏的下一篇博文

MyBatis学习:简单认识一下MVC架构模式和三层架构相关推荐

  1. MVC模式与三层架构的区别

    MVC模式与三层架构的区别 原文地址:http://www.cnblogs.com/yourshj/p/5197310.html 之前总是混淆MVC表现模式和三层架构模式,为此记录下. 三层架构和MV ...

  2. 10个常见软件架构模式和三层架构模式

    10个常见软件架构模式: 1. 分层模式: 信息系统常见的4层划分:Presentation layer表示层(也就是UI层).Application layer应用层(也就是服务层).Busines ...

  3. java ssh三层架构_SSH和三层架构的MVC模式的对应关系

    1.MVC(Model-View-Controller)设计模式: 首先让我们了解下MVC(Model-View-Controller)的概念: MVC全名是Model View Controller ...

  4. MVC模式与三层架构

    文章目录 什么是MVC模式 MVC架构程序的工作流程 什么是三层架构 什么是系统架构 什么是三层架构 各层之间的引用关系 MVC 与三层架构的对应关系 总结 什么是MVC模式 MVC,即 Model ...

  5. MVC项目实践,在三层架构下实现SportsStore-03,Ninject控制器工厂等

    SportsStore是<精通ASP.NET MVC3框架(第三版)>中演示的MVC项目,在该项目中涵盖了MVC的众多方面,包括:使用DI容器.URL优化.导航.分页.购物车.订单.产品管 ...

  6. MVC项目实践,在三层架构下实现SportsStore-06,实现购物车

    SportsStore是<精通ASP.NET MVC3框架(第三版)>中演示的MVC项目,在该项目中涵盖了MVC的众多方面,包括:使用DI容器.URL优化.导航.分页.购物车.订单.产品管 ...

  7. MVC项目实践,在三层架构下实现SportsStore-01,EF Code First建模、DAL层等

    SportsStore是<精通ASP.NET MVC3框架(第三版)>中演示的MVC项目,在该项目中涵盖了MVC的众多方面,包括:使用DI容器.URL优化.导航.分页.购物车.订单.产品管 ...

  8. 项目架构之传统三层架构和领域模型三层架构

    一.架构之传统三层架构 传统三层架构是一种软件架构,是一种典型的.基于贫血模型的.面向过程的JavaWeb分层方式.该架构分为以下三个层次: 数据访问层(DAL - Data Access Layer ...

  9. JavaEE架构之传统三层架构,集群架构,分布式架构,微服务架构

    javaEE架构 1.传统三层架构(all in one项目) 传统三层架构大致可以分为表现层,业务层和持久层(数据访问层).其中表现层负责接受请求和转发请求.业务层负责处理请求(注:事务管理,日志记 ...

最新文章

  1. php中input的使用,php输入流php://input如何使用
  2. 【转】ABAP的坑1
  3. Python3 中的最大整数和最大浮点数
  4. 为推广苹果音乐服务 库克再度现身北京
  5. django 如何接收bootstrap-table传送的 ajax数组
  6. fd 句柄_文件描述符FD的含义/文件句柄
  7. Prove the EXACT 4SAT is NP-complete.
  8. 现代天线设计——学习笔记(一)
  9. 华为s5720默认用户名和密码_华为S5720常用命令
  10. 华为服务器imana安装系统,华为服务器imana配置
  11. rknn3399pro 2小时入门指南(八)详细教程指导你一步到位训练得到yolov3 rknn模型
  12. word,添加文献脚注
  13. 简单密码(Caesar密码)--C++实现
  14. 搭便车的时候,请别把车砸了。
  15. 恭喜元宇宙产业委秘书长何超、执行秘书长武艳芳成为南京河西CBD发展大使
  16. Problem--133A--Codeforces--A. HQ9+
  17. Url跳转和伪静态html解决方案
  18. 微信小程序答题赢红包 微信答题小程序抢红包,答题领微信零钱红包,答题红包小程序,可以自己出题考试的小程序
  19. Matlab 在线性代数中的应用
  20. 国密SM9算法C++实现:算法功能与测试例子

热门文章

  1. 突然萌发关于 redis 的想法(2)
  2. 做好京东工业品,只是京东进军工业互联网的第一步
  3. PHP8和tomcat8速度,Centos系统 tomcat 中的应用与北京时间相差8小时
  4. 焦化厂通过plc无线通信模块竟然可以解决生产安全问题
  5. 线程安全问题的原因及解决方案
  6. js如何实现扫描身份证识别_通过node.js来调取baidu-aip-SDK实现身份证识别的功能...
  7. 【比赛游记】THUWC2019酱油记
  8. ANSYS Workbench 14.5数值模拟工程实例解析视频教程
  9. 数学建模学习(109):几行代码训练几十种机器学习模型
  10. 无人机学习之路——电机