MVC介绍

  在这学期匆匆忙忙的学完SSH三大框架以后,也是颇有感触。通过比较来看的话,SSH可以看做一种工具,用封装好的类来是我们的代码更便于的维护,来适应团队的开发。而MVC相比较SSH而来,可以看做一种编程的思想,一种架构模型。他不想SSH那样要引入jar包,引入功能。而是通过知道我们改善我们的应用程序架构,使得应用的模型和视图相分离,从而得到更好的开发和维护效率。

  为什么会出现MVC呢?据说在早期开发中,程序结构划分不明确,各个部分功能混乱,在业务功能发生变更时,无论是业务逻辑修改还是显示形式修改,都要修改很多的类,“牵一发而动全身”,导致软件的开发和维护效率低下,错误百出。而MVC模式来开发系统,就会极大的避免上述问题的出现。MVC模式的核心手段是解耦,MVC模式通过仔细的划分功能,把整个应用程序划分成模型、视图、控制器三个部分,然后严密控制三个部分之间的通信,从而得到一个结构清晰、功能分布合理、可重用、可扩展、可维护的应用程序

  首先在MVC模式中,我们要知道,什么事MVC,其中M是模型(Model)、V是视图(View),C 是控制器(Controller),这三部分组成了我们的MVC。

  模型(Model):负责封装应用的状态,并实现应用的功能。通常又分为数据模型和业务逻辑模型,数据模型用来存放业务数据,比如订单信息、用户信息等;而业务逻辑模型包含应用的业务操作,比如订单的添加或者修改等

  视图(View):通俗的来讲,就是界面,包括界面上的按钮图片等用户看的道德东西,用来将模型的内容展现给用户,用户可以通过这些来请求模型进行更新。比如用户在界面上操作或者填写完成后,会点击提交按钮或是以其它触发事件的方式,来向控制器发出请求。

  控制器(Controller):用来控制应用程序的流程和处理视图所发出的请求。当控制器接收到用户的请求后,会将用户的数据和模型的更新相映射,也就是调用模型来实现用户请求的功能;然后控制器会选择用于响应的视图,把模型更新后的数据展示给用户。

MVC的组件关系图描述了模型、视图、控制器这三个部分的交互关系,下面按照交互顺序来详细描述一下它们的交互关系:

(1)首先是展示视图给用户,用户在这个视图上进行操作,并填写一些业务数据

(2)然后用户会点击提交按钮,来发出请求

(3)视图发出的用户请求会到达控制器,在请求中包含了想要完成什么样的业务功能以及相关的数据。

(4)控制器会来处理用户请求,会把请求中的数据进行封装,然后选择并调用合适的模型,请求模型进行状态更新,然后选择接下来要展示给用户的视图。

(5)模型会去处理用户请求的业务功能,同时进行模型状态的维护和更新

(6)当模型状态发生改变的时候,模型会通知相应的视图,告诉视图它的状态发生了改变。

(7)视图接到模型的通知后,会向模型进行状态查询,获取需要展示的数据,然后按照视图本身的展示方式,把这些数据展示出来。

  

时间: 2024-10-09 17:13:28

MVC介绍的相关文章

应用程序框架实战三十:表现层及ASP.NET MVC介绍(一)

本文将介绍表现层及ASP.NET MVC的一些要点,特别是ASP.NET MVC的一些抽象和封装技巧,如果你对MVC还不了解,可以参考<ASP.NET MVC4 高级编程>,作者Jon Galloway等,这本书由ASP.NET MVC团队成员编写,相当不错. 表现层的职责 表现层的职责是展示和收集数据,将领域层的数据和逻辑展示出来,并收集用户输入的相关信息. 搞清楚表现层的职责以后,你就应该清楚,表现层不是你应该编写业务逻辑的地方,这也是分层架构的核心. 如果要展示一个计算值,不应该在表现层

Spring MVC介绍

一.Spring Web MVC简介      Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型,框架的目的就是帮助我们简化开发,Spring Web MVC也是要简化我们日常Web开发的. 二.Spring Web MVC优势 1.清晰的角色划分:前端控制器(DispatcherServlet).请求到处理器映射(HandlerMapping

ASP.NET MVC 介绍

ASP.NET分为WebForm(数据访问层 界面层 业务逻辑层)和MVC MVC : Model(模型)是应用程序中用于处理应用程序数据逻辑的部分. 通常模型对象负责在数据库中存取数据. View(视图)是应用程序中处理数据显示的部分. 通常视图是依据模型数据创建的. Controller(控制器)是应用程序中处理用户交互的部分. 通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据. 主要区别: WebForm 是请求访问哪一个页面,返回的是一个处理后的页面 MVC 是请求访问的哪一

第三章节-Spring MVC介绍

一.采用Spring MVC的好处 从MVC之Servlet控制器(二)中,我们知道,要实现MVC,我们要编写一个Dispatcher Servlet和Controller类,其中Dispatcher Servlet要完成下面的工作. 1. 根据uri调用相应的action . 2. 实例化正确的controller . 3. 根据请求参数来构造表单bean . 4. 调用控制器对象相应的方法. 5. 转向一个视图. Spring MVC中就有 Dispatcher Servlet,它调用con

第四章节-Spring MVC介绍(注解方式)

一.Spring MVC注解类型 优点: 1.一个控制器可以处理多个动作.(而一个实现了Controller类的控制器只能处理一个动作). 2.请求映射不要存储在配置文件中,使用RequestMapping注解就可以对一个方法进行请求处理. Controller注解类型 用于指定Spring类的实例是一个控制器.Spring使用扫描机制来找到 Request注解类型

spring mvc 介绍

Spring MVC Tutorial tag. * * If you do not want to deal with the intricities of the noscript * section, delete the tag (from ... to ). On * average, the noscript tag is called from less than 1% of internet * users. */--> <a href='http://delivery.ame

Servlet+JSP+JavaBean开发模式(MVC)介绍

好伤心...写登陆注册之前看见一篇很好的博文,没有收藏,然后找不到了. 前几天在知乎上看见一个问题,什么时候感觉最无力. 前两天一直想回答:尝试过google到的所有solve case,结果bug依然在. 今天想回答:明明遇见过,就是找不到那篇文的时候.哭! ================================================ 学习mvc模式(其实是JSP作业),当然这个不只是Servlet+JSP+JavaBean一种case,它是一种思想,实现web系统的职能分

iOS MVC 介绍

所有的 iOS 应用程序基本都使用 Model-View-Controller,或称为 MVC 架构. 从架构角 度来看,Model,view 和 controller 是一个 iOS 应用程序的 3 个主要组件: Model 是应用程序的核心.它负责计算和创建一个虚拟的世界,即使没有 view 和 controller 也可以进行.可以这样理解,model 就是你的应用程序的一份虚拟拷贝——没有外观! view 则是用户与你的程序进行交互的窗口.大部分情况下,View 都用来显示 Model

代码审计 phpcmsv9 MVC介绍

MVC是什么它是设计模式模式特点:输入.处理.输出必须分开使用这个模式设计的程序特点:被分为三个核心组件(模型M,视图V,控制器C),各自处理各自的任务 -------------------------------------------------------------------------------- 什么是视图?概念:视图就是用户看到并与之交互的界面.实质文件:html元素.flash对象,xml/xsl,wml标识语言 ------------------------------