MVC基本介绍

简介: MVC基本介绍

1.1 MVC概念

MVC(Model View Controller)是一种软件工程中的一种软件架构模式,把软件系统分为三个基本部分:

  • 模型(Model)
  • 视图(View)
  • 控制器(Controller)

  • Model (模型)
  • 用javabean实现,用于封装业务数据,完成具体的业务逻辑操作。
  • 例如:查询数据库,封装对象。
  • View (视图)
  • JSP实现,用于显示数据。
  • 例如:用户实际上看到的网页信息或用户界面。
  • Controller (控制器)
  • 用Servlet实现,用于调度Model和View,负责请求转发。
  • Controller只是接收请求并决定调用哪个模型构件去处理请求,然后再确定用哪个视图来显示返回的数据。因此控制器就相当于调度员一样,负责调用model和view工作一样。
  • Controller存在的目的则是确保Model和View的同步,一旦Model改变,View应该同步更新。

1.2 MVC和三层架构的区别

  • 三层架构是基于业务逻辑来分的,而MVC是基于页面来分的。
  • 三层模式可归于部署模式,MVC可归于表示模式
  • 无论是MVC还是三层架构,都是一种规范,都是奔着高内聚,低耦合的思想来设计的。

1.3 MVC架构模式的工作流程

  1. 用户通过View页面向服务端提出请求,可以是表单请求、超链接请求、AJAX请求等。
  2. 服务端Controller控制器接收到请求后对请求进行解析,找到相应 的Model对用户请求进行处理。
  3. Model处理后,将处理结果再交给Controller
  4. Controller在接到处理结果后,根据处理结果找到要作为向客户端发回的响应View页面。页面经渲染(数据填充)后,再发送给客户端

1.4 为什么要用MVC

  • 早期只有servlet,只能使用response输出标签数据,非常麻烦
  • 后来有jsp,简化了Servlet的开发,如果过度使用jsp,在jsp中即写大量的java代码,又写html,造成难于维护,难于分工协作
  • 再后来,javaweb开发,借鉴mvc开发模式,使得程序的设计更加合理性

1.5 MVC设计模式优点

  • 降低代码耦合性
  • 在 MVC 模式中,三个层各司其职,所以如果一旦哪一层的需求发生了变化,就只需要更改相应层的代码而不会影响到其他层的代码。
  • 有利于分工合作
  • 在 MVC 模式中,由于按层把系统分开,那么就能更好的实现开发中的分工。
  • 网页设计人员可进行开发视图层中的 JSP,而对业务熟悉的人员可开发业务层,而其他开发人员可开发控制层
  • 有利于组件的重用
  • 如控制层可独立成一个能用的组件,表示层也可做成通用的操作界面。可以为一个模型在运行时同时建立和使用多个视图。
目录
相关文章
|
6月前
|
前端开发 Java 应用服务中间件
SpringMVC基础篇:MVC基础知识
vSpringMVC基础篇:MVC基础知识
|
6月前
|
设计模式 前端开发 搜索推荐
深入浅出MVC
深入浅出MVC
24 1
|
6月前
|
设计模式 前端开发 BI
什么是mvc原理是什么
什么是mvc原理是什么
41 0
|
11月前
|
XML 前端开发 Java
自定义MVC的进阶使用
自定义MVC的进阶使用
44 0
|
XML 前端开发 Java
Mvc进阶(下)
Mvc进阶(下)
24 0
|
前端开发 JavaScript
如何实现一个简单的 MVC 框架
实现一个简单的 MVC(Model-View-Controller)框架可以帮助你更好地理解和组织你的前端代码。在下面的步骤中,我会为你介绍如何从头开始构建一个简单的 JavaScript MVC 框架。
137 0
|
存储 前端开发 JavaScript
《Spring MVC》 第一章 MVC模式
《Spring MVC》 第一章 MVC模式
138 0
|
开发框架 前端开发 搜索推荐
Unity之MVC思想(通过普通方法和使用MVC思想完成同一个小案例:掌握MVC简单框架)
Unity之MVC思想(通过普通方法和使用MVC思想完成同一个小案例:掌握MVC简单框架)
Unity之MVC思想(通过普通方法和使用MVC思想完成同一个小案例:掌握MVC简单框架)
|
设计模式 前端开发 数据库
MVC知识进阶01
MVC知识进阶01
149 0
MVC知识进阶01
|
前端开发 数据库 容器
MVC知识点01
MVC知识点01
112 0
MVC知识点01