为什么使用mvc框架(mvc框架和mvc模式)

http://www.itjxue.com  2023-01-25 16:31  来源:未知  点击次数: 

mvc是什么,有什么用

mvc(model–view–controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:

模型(model),视图(view)和控制器(controller)。

m指

模型。即程序员编写程序应有的功能(实现算法等等),数据库专家进行数据管理和数据库设计(可以实现具体的功能)。

模型(model)

用于封装与应用程序的业务逻辑相关的数据以及对数据的处理方法。“

model

”有对数据直接访问的权力,例如对数据库的访问。“model”不依赖“view”和“controller”,也就是说,

model

不关心它会被如何显示或是如何被操作。但是

model

中数据的变化一般会通过一种刷新机制被公布。为了实现这种机制,那些用于监视此

model

view

必须事先在此

model

上注册,从而,view

可以了解在数据

model

上发生的改变。

微软msvc++视窗程序

mfc

document/view架构

是早期对于mvc模式的实现,mfc将程式分成cview以及cdocument两大类别,其中的document对应mvc中的

model

,view

相当于mvc中的

view+controller,再加上cwinapp类别,合成三大项。但是基本上mfc是一个失败的mvc模式作品。

MVC设计模式的最终目的是什么?

MVC (Model View Controller):M是指数据模型,V是指用户界面,C则是控制器。

使用MVC的目的是,将M和V实现代码分离。

也就是前台html表现层和后台php逻辑层分离。

MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。

为什么框架要使用mvc模式?

大些的团队项目才考虑MVC的,各种业务人员相互分离了,搞界面美工的去做美工不用管别的事了

小项目代码混编的不易于分工和后续维护

再比如说美工辞职了,那怎么办,如果是MVC模式的,再换个搞美工的就好了,什么也不耽误。

不过那个2楼的说的很对啊,你小项目用它就得不了多少好处。

第一开发不见得快,团队优势出不来啊

第二你学框架还要时间吧

第三执行效率肯定不如嵌入模式啊,你一分离难免各种接口,各种解释,重复执行,分了很多层绕来绕去还不是要翻译成一样的是吧。

所以嘛,视情况而定,不一定就非得用它,只是个分工需要,可没吹的那么离谱。

什么是MVC设计模式,为什么使用MVC?

MVC(Model-View-Controller)把系统的组成分解为M(模型)、 V(视图)、C(控制器)三种部件。视图表示数据在屏幕上的显示。控制器提供处理过程控制,它在模型和视图之间起连接作用。控制器本身不输出任何信息和做任何处理,它只负责把用户的请求转成针对Model的操作,和调用相应的视图来显示Model处理后的数据。

用户界面逻辑的更改往往比业务逻辑频繁,尤其是在基于Web的应用程序中。例如,可能添加新的用户界面页,或者可能完全打乱现有的页面布局。对显示的更改,尽可能地不要影响到数据和业务逻辑。

目前大部分Web应用都是将数据代码和表示混在一起。经验比较丰富的开发者会将数据从表示层分离开来,但这通常不是很容易做到的,它需要精心的计划和不断的尝试。MVC从根本上强制性的将它们分开。尽管构造MVC应用需要一些额外的工作,但它带来的好处是无庸质疑的

个人对于spring mvc框架的理解

以下我的个人理解加上网络上的所查阅资料,对于spring mvc框架的一些总结,不足之处还望指出

????在web模型中,MVC是一种很流行的框架,通过把Model,View,Controller分离,把较为复杂的web应用分成逻辑清晰的几部分,是为了简化开发,减少出错,同时也为了组内开发人员之间的配合。总之就是一种分层工作的办法。

(1) 用户通过浏览器向服务器发送请求,请求被springmvc的前端控制器DispatcherServlet拦截;

(2) DispatcherServlet拦截到请求后,会调用HandlerMapping处理映射器;

(3) 处理器映射器根据请求URL找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给调用处理器DispatcherServlet;

(4)DispatcherServlet会通过返回信息选择合适的HanderAdapter(处理器适配器);

(5)HanderAdapter会调用并执行Handler(处理器),这里的处理器值的就是程序中编写的Controller类,也被称之为后端控制器;

(6)Controller执行完成后,会返回一个ModelAndView对象,该对象中包含视图名或包含模型和视图名

(7)HandlerAdapter将ModelAndView对象返回给DispatcherServlet;

(8)DispatcherServlet会根据ModelAndView对象选择一个合适的ViewReslover(视图解析器)

(9)ViewReslover解析后,会向DispatcherServlet中返回具体的View

(10)DispatcherServlet对view进行渲染(即将模型数据填充至视图中)

(11)视图渲染结果会返回给客户端浏览器显示

(1)DispatcherServlet接口:Spring提供的前端控制器,所有的请求都有经过它来统一分发。在DispatcherServlet将请求分发给Spring Controller之前,需要借助于Spring提供的HandlerMapping定位到具体的Controller。

(2)HandlerMapping接口:能够完成客户请求到Controller映射。

(3)Controller接口:需要为并发用户处理上述请求,因此实现Controller接口时,必须保证线程安全并且可重用。Controller将处理用户请求,这和Struts Action扮演的角色是一致的。一旦Controller处理完用户请求,则返回ModelAndView对象给DispatcherServlet前端控制器,ModelAndView中包含了模型(Model)和视图(View)。

从宏观角度考虑,DispatcherServlet是整个Web应用的控制器;从微观考虑,Controller是单个Http请求处理过程中的控制器,而ModelAndView是Http请求过程中返回的模型(Model)和视图(View)。

(4)ViewResolver接口:Spring提供的视图解析器(ViewResolver)在Web应用中查找View对象,从而将相应结果渲染给客户。

????是整个Spring MVC的核心。它负责接收HTTP请求组织协调Spring MVC的各个组成部分。其主要工作有以下三项:

(1)截获符合特定格式的URL请求。

(2)初始化DispatcherServlet上下文对应WebApplicationContext,并将其与业务层、持久化层的WebApplicationContext建立关联。

(3)初始化Spring MVC的各个组成组件,并装配到DispatcherServlet中。

(责任编辑:IT教学网)

更多

推荐Freehand教程文章