大家好,今天给大家分享一下MVC 三层架构的模式

首先你要知道,所谓的MVC就是一种面向于javaee企业级开发的设计模式

这里要强调一点,MVC 不是一种技术,不是一种像spring 那样的框架,它是一种思想(可以理解为一种解决问题的风格)

MVC : Model View Controller,(这是它的英文)

在这里,解释一下:
M: 模型

V: 视图

C : 控制器

在早期,一个项目的代码全部写在了一块, 会出现很多问题, 而我们今天讲的MVC 模式,就是将原先的项目的业务逻辑,数据,界面(也就是我们的视图)这几个模块进行了分离

有关于它各个模块的作用:

模型层(M): 是负责项目当中数据的处理逻辑,像jdbc的代码就写在这里

控制层(C): 是负责项目当中模型层(M)和视图层(V)之间关系的协调与控制(就是servlet相关的代码,对于早期原生代码写的项目而言)

视图层(V): 负责数据的展示,主要面向于前端(web jsp vue等等)

可以看我画的这个图

主要的组成部分,就是 浏览器,服务器,数据库


解释:(我把字体放大一点)

这是一个传统的web项目的架构图(就是没有使用框架技术,而使用原生代码写的项目),所谓的web项目其实就是可以通过网页资源的方式访问的服务,而你要访问网页服务就是要使用到浏览器,你访问的这些网页服务,其资源和他背后的业务逻辑代码就是放到了服务器当中,而服务的数据要放在数据库里,使用jdbc 这个技术来实现程序和数据库的数据进行交互的问题(就是程序要对数据库里数据进行操作),服务器里的这个servlet 非常的重要,因为我们可以看见,在这个架构图当中,servlet既要管浏览器的事,又要管数据的事,很累

servlet的作用:

1.接收并处理前端(来自于浏览器)发送给它的请求

2. 调用数据处理(jdbc)的业务逻辑

3. 响应数据(就是做出回馈)

所以说servlet 在这个过程当中很累

所以我们要简化或者说分散Servlet 的压力

看这个图:


其中, 我们使用MVC 的思想对原有的模块进行重新划分(jdbcs是M:模型),servlet是C:控制器,view负责写我们项目的前端呈现的部分

这样做,就分散了servlet 的压力, 这就是 MVC 的作用

在Java当中,有关于MVC 的管理可以使用包的结构(就是将耦合性很高的代码分散出去)

整个结构可以这样写

  1. 模型层: dao(这是命名)
  2. 业务层 service
  3. 控制层: controller
  4. 视图层: 在webapp目录下
  5. 实体类 Javabean 放在 pojo 包下
  6. 工具类 : utils
  7. 公共类: common

有关于这个东西,有几个点要讲一下

  1. 这就是MVC 模式下的项目结构
  2. 左边的功能的表示, 右侧的是包的命名
  3. 命名不是死的, 想怎么写怎么写,只不过这是我们的一个普遍共识,大多数人一看就知道
  4. 模型层,控制层以及视图层是一定要有的, 其他的看具体项目而定
  5. 接口底下要写上实现类
  6. dao 层接口的命名规范: 模块名+Dao, 举例: UserDao
  7. dao 层实现类的命名规范 : 模块名+ Dao+ impl 举例: UserDaoimpl

Dao 是什么

data access object 就是数据访问对象,简称Dao ,封装了数据访问逻辑的对象

Dao 的优点:

  1. 方便测试: 如果将数据逻辑单独放到dao 层里, 就可以避免直接访问servlet
  2. 使开发上的分工更加的明确: 一部分人去写servlet,一部分人去写数据访问的逻辑
  3. 使代码的维护更加方便 : 即使数据逻辑发生了变化,也不会影响servlet

MVC 的特点:

. 1. 使代码更容易维护
2. 方便代码的测试
3. 方便开发上的分工

MVC 缺点:

mvc 模式使整体的开发代码量加大,使设计的难度加大加大了开发的成本

好了,有关于MVC三层架构的模式就到这里了,谢谢大家

.

MVC三层架构的模式相关推荐

  1. 三层调用关系_你真正的了解MVC三层架构开发模式吗

    说起应用分层,controller,service, mapper三层.很多人其实并没有把他们职责划分开,在很多代码中,controller做的逻辑比service还多,service往往当成透传了, ...

  2. java三层 开源_java 山寨qq 聊天工具(基于mvc三层架构,附 mvc架构模式pdf说明文档)支持开源...

    [实例简介] java 山寨qq 聊天工具(基于mvc三层架构,附 mvc架构模式pdf说明文档)支持开源 [实例截图] [核心代码] java山寨qq聊天工具(基于mvc三层架构,附mvc架构模式p ...

  3. mvc三层架构_Java架构-代码分层的设计之道

    分层思想,是应用系统最常见的一种架构模式,我们会将系统横向切割,根据业务职责划分.MVC 三层架构就是非常典型架构模式,划分的目的是规划软件系统的逻辑结构便于开发维护.MVC:英文即 Model-Vi ...

  4. B站云E办Vue+SpringBoot前后端分离项目——MVC三层架构搭建后台项目

    本项目来源B站云E办,笔记整理了项目搭建的过程和涉及的知识点.对于学习来说,不是复制粘贴代码即可,要知其然知其所以然.希望我的笔记能为大家提供思路,也欢迎各位伙伴的指正. 项目前端学习笔记目录 B站云 ...

  5. JavaWeb之JSP和MVC三层架构

    JSP JSP概述 JSP的作用 JSP(全称:Java Server Pages):Java 服务端页面.是一种动态的网页技术,其中既可以定义 HTML.JS.CSS等静态内容,还可以定义 Java ...

  6. 基础:MVC三层架构

    MVC三层架构 基于狂神说讲的MVC三层架构图, 概述:mvc框架由model,view,controller组成,执行流程一般是:在controller访问model获取数据,通过view渲染页面. ...

  7. 浅谈MVC三层架构(通俗易懂)

    "怕什么真理无穷,进一寸有一寸的欢喜"        ----胡适 什么是MVC三层架构? 所谓MVC三层架构,指的是Model View Controller,即模型.视图.控制 ...

  8. javascript的MVC三层架构(案例之分页插件)

    javascript的MVC三层架构(案例之分页插件) 作者:田想兵 博客地址:http://www.cnblogs.com/tianxiangbing 最近很少写博文,一是比较忙,二是没啥心情,好, ...

  9. 阿里为什么建议给MVC三层架构多加一层Manager层?

    MVC三层架构 我们在刚刚成为程序员的时候,就会被前辈们 "教育" 说系统的设计要遵循 MVC(Model-View-Controller)架构.它将整体的系统分成了 Model( ...

最新文章

  1. linux c socket 服务器 客户端 简单通讯
  2. aliyun 日志服务(Log Service,Log)是针对日志场景的一站式服务
  3. Jzoj4891 摆书
  4. 告别2019,写给2020:干好技术,要把握好时光里的每一步
  5. excel多列多行堆叠成多列一行_「Excel技巧」如何利用indirect函数快速将一列转为多行多列排版...
  6. 世界杯来了!小程序赛事操作来一波~
  7. 从知网或PDF复制英文单词间隔过大问题
  8. 黑马程序员--黑马程序员的入学流程真的“很黑”
  9. 【一起学Rust | 设计模式】新类型模式
  10. 七种方式实现三栏布局
  11. SAP 生产订单创建修改日期
  12. android自定义通知栏_推送图片
  13. 基于C++的P2P穿透文件传输
  14. 小白如何装重装操作系统(使用PE辅助)
  15. MVC5-Scaffolder
  16. Java之动态代理类实现日志简单实例
  17. 我的瞎搞开发工具集以及对一些工具的比较
  18. arcgis农田图例_ArcGIS在高标准农田建设项目图件制作中的应用
  19. R语言之基本统计分析
  20. SSL/TLS单向认证和双向认证介绍

热门文章

  1. 零基础无实物一步一步学PLCS7-1200仿真 背景知识一 低压元器件基础
  2. 面试官:介绍一下你简历中的项目,细讲一点,附项目实战
  3. 利用ArcGIS对shp文件进行投影转换
  4. Mysql—数据模型
  5. Oracle RBO、CBO简介
  6. 利用SwitchyOmega和Jmeter实现Jmeter录制功能
  7. cucumber自动化 java_cucumber自动化测试官方教程
  8. SWOT分析图说明及使用方法
  9. 示例:应用WPF开发的仿制百度网盘客户端UI布局
  10. 单片机控制舵机matlab仿真,单片机舵机控制程序教程及proteus仿真原理图