您的位置首页百科问答

什么是MVC模式???

问题补充说明:什么是MVC模式???

什么是MVC模式???

MVC(Model/V来自iew/Controller)模式是国外用得比较多的一种设计模式,好象最早是在Smal倒诉资间talk中出现。MVC包括三类定基改急对象。Model是应用结费容破经茶零对象,View是它在360问答屏幕上的表示,Controller定义用户界面对用户输入的响应方式。

模型-视图-控制器(MVC)是80年代Smalltalk-80出现的一种软件设计模式,现在已经被广泛的使用。

1、模型(Model)

模型是应用程序的主体部分。模型表示业务数据,或者业务逻辑.

2、视图(View)

视图是应用程序中用户界面相关的部分,是用户看到并与害刻有之交互的界面。

3、控制器(写气固束controller)

控制器工作就是根据用户的输入,控制用户界面数据显示和更新model对象状态。

MVC式的出现不仅实现了功能模块和显示模块的分离,同时它还提高了应用系统的可维护性、可扩展性、可移植性和组件的可复用性

早期的程序中,如果不注意对数功能和显示的解耦合,常常会导致程序的复杂及难以维护。很多VB,De器更假青见lphi等RAD程序都有这种问题。甚至现帮策合在的C#,Java有时候也会出现把业务逻辑写在显示模块中的现象

管MVC设计模式很早就提出,但在Web项目的开发中引入MVC却是步履维艰。主要原因:一是在早期的W振苦况往百抗绝eb项目的开发中,程序语沉团的均翻都言和HTML的分离一直难以实现。CGI程序以字符串输出的形式动态地生华待批火求成HTML内容。后来随着脚本语言的出现,前面的方式又被倒了过来,改成将圆检通式助视量脚本语言书写的程序嵌入在HTML内容中。这两种方式有一个相同的不足之处即它们总是无法将程序语言和HTML分离。二是脚本语言的功能相对较弱,缺乏支持MVC设计模式的一些必要的技术基础。直到基于J2EE的JSPModel2问世时才得以改观。它用J京客SP技术实现视图的功能,用布界翻Servlet技术实现控制器的功能,用JavaBean技术实现模型的功能

JSPModel1与JSPModel2

SUN在JSP出现早期制定了两种规范,称为值胜约带径我功兴Model1和Model2。虽然Model2在一定程句附品料布角同油列度上实现了MVC,但是它的应用用并不尽如人意

JSPModel1

JSPModel2

model2容易使系统出现多个Controller,并且对页面导航的处理比较复杂

有些人觉得model2仍不够好,于是CraigR.McClanahan2000年5月提交了一个WEBframework给JavaCommunity.这就是后理旧愿结高酸异材都来的Struts.

2001年7月,Struts1.0,正式发布。该项目也成为了ApacheJakarta的子项目之一

Struts质上就是在Model2的基础上实现的一烧钟耐个MVC架构。它只有一个中心控制器,他采用XML定制转向的URL。采用Action来处理逻辑