mvc代表什么
模型-视图-控制器(MVC)是20世纪80年代Smalltalk-80的一种软件设计模式,现在已经被广泛使用。
1,型号
模型是应用程序的主要部分。模型代表业务数据或业务逻辑。
2.视角
视图是应用程序中用户界面的相关部分,是用户看到并与之交互的界面。
3.控制器
控制器的工作是控制用户界面数据的显示,并根据用户的输入更新模型对象的状态。
MVC的出现不仅实现了功能模块和显示模块的分离,而且提高了应用系统的可维护性、可扩展性、可移植性和可重用性。
在早期的程序中,如果不注意对数函数和显示的解耦,往往会导致程序的复杂和维护的困难。很多RAD程序如VB和VB,Delphi都有这个问题。即使是现在,C #和C#,Java有时候也会在显示模块中写业务逻辑。
虽然MVC设计模式早就提出来了,但是很难将MVC引入到Web项目的开发中。主要原因是:第一,在Web项目的早期开发中,编程语言和HTML的分离一直难以实现。CGI程序以字符串输出的形式动态生成HTML内容。后来随着脚本语言的出现,把以前的方法反过来,把脚本语言写的程序嵌入到HTML内容中。这两种方法都有一个缺点,就是永远无法将编程语言从HTML中分离出来。第二,脚本语言的功能相对较弱,缺乏一些必要的技术基础来支持MVC设计模式。直到基于J2EE的JSP Model 2问世,情况才有所改变。它采用JSP技术实现视图功能,Servlet技术实现控制器功能,JavaBean技术实现模型功能。
JSP模型1和JSP模型2
SUN在JSP早期制定了两个规范,称为Model1和Model2。Model2虽然在一定程度上实现了MVC,但应用并不尽如人意。
JSP模型1
JSP模型2
Model2容易使系统中出现多个控制器,页面导航的处理比较复杂。
有些人认为model2仍然不够好,于是Craig R. McClanahan在2000年5月向Java社区提交了一个WEB框架,这就是Struts。
2001年7月,Struts1.0正式发布。这个项目也成为了Apache Jakarta的子项目之一。
Struts本质上是一个基于Model2的MVC架构。它只有一个中央控制器,并且它使用XML来自定义转弯的URL。用行动来处理逻辑。