Java的MVC模式简介

Java的MVC模式简介

MVC(Model View Control)模型-视图-控制器

首先我们要掌握MVC模式并无是javaweb项目受到独有的,MVC是千篇一律种软件工程中之一模一样栽软件架构模式,把软件系统分为三只基本有:模型(Model)、视图(View)和控制器(Controller),即为MVC。它是同栽软件设计的样子,

平、MVC与模板概念的理解

MVC本来是存于Desktop程序中的,M是指数据模型,V是指用户界面,C则是控制器。使用MVC的目的是以M和V的实现代码分离,从而使与一个序可以下不同的表现形式。比如同批判统计数据你可分级用柱状图、饼图来代表。C存在的目的则是保险M和V的同,一旦M改变,V应该一并更新。

范-视图-控制器(MVC)是Xerox PARC在八十年代为编程语言Smalltalk-80发明的等同种软件设计模式,至今已经为广大利用。最近几乎年被推荐吧Sun公司J2EE平台的设计模式,并且吃越来越多的使 ColdFusion 和 PHP 的开发者的迎。模型-视图-控制器模式是一个行的家伙箱,它发为数不少功利,但为闹局部败笔。 

亚、MVC如何工作 

MVC是一个设计模式,它强制性的如应用程序的输入、处理和出口分开。使用MVC应用程序被分为三单核心部件:模型、视图、控制器。它们各自处理自己之职责。 

视图 

视图是用户看到并同之相的界面。对老式的Web应用程序来说,视图就是由于HTML元素组成的界面,在时的Web应用程序中,HTML依旧以视图中饰演着重大的角色,但有的新的技巧就层出不穷,它们包括Macromedia Flash和象XHTML,XML/XSL,WML等局部标识语言和Web services. 

什么样处理应用程序的界面变得尤其产生挑战性。MVC一个很之补益是其会为而的应用程序处理过剩差之视图。在视图中实际没真正的拍卖发生,不管这些数据是同步存储的或者一个雇员列表,作为视图来讲,它就是用作同栽输出数据并允许用户操纵的章程。 

模型 

模型表示企业数与作业规则。在MVC的老三独部件中,模型有无限多的拍卖任务。例如它恐怕用象EJBs和ColdFusion Components这样的部件对象来拍卖数据库。被模型返回的数额是中立的,就是说模型与数格式无关,这样一个模能为多独视图提供数据。由于采取为模型的代码只需要写一蹩脚就是足以吃多只视图重用,所以减少了代码的重复性。 

控制器 

控制器接受用户的输入并调用模型和视图去就用户之需求。所以当单击Web页面中的超链接和殡葬HTML表单时,控制器本身不出口任何事物同开另外处理。它仅是收纳请求并操纵调用哪个模型构件去处理要,然后据此规定为此哪个视图来展示模型处理回来的多寡。 

本咱们总MVC的处理过程,首先控制器接收用户的恳求,并控制应该调用哪个模型来进展拍卖,然后模型用工作逻辑来处理用户之求并回数据,最后决定器用相应的视图格式化模型返回的数据,并由此代表层呈现为用户。

其三、为什么而利用 MVC

大部分Web应用程序都是为此像ASP,PHP,或者CFML这样的过程化语言来创造的。它们将诸如数据库查询语句这样的数据层代码和如HTML这样的象征层代码乱在同。经验比较丰富的开发者会将数据从象征层分离开来,但马上通常不是特别爱做到的,它用仔细之计划同缕缕的品味。MVC从根本上强制性的以它分别。尽管构造MVC应用程序需要有的额外的工作,但是其让我们带的利是不要质疑之。

先是,最重点的少数凡是多只视图能共享一个模,现在要为此更多之艺术来走访你的应用程序。对是,其中一个解决之道是运用MVC,无论你的用户想使Flash界面或是 WAP 界面;用一个模就可知处理它们。由于您曾经以数据和业务规则从代表层分开,所以你可以最大化的选定你的代码了。

出于模型返回的数据尚未展开格式化,所以一律的构件能于不同界面使用。例如,很多数据或许用HTML来表示,但是其啊来或只要就此Macromedia Flash和WAP来代表。模型呢发状态管理以及数据持久性处理的法力,例如,基于会话的购物车和电子商务过程为会于Flash网站或者无线联网之应用程序所用。

盖模型是起包含的,并且和控制器和视图相分离,所以老轻改而的应用程序的数据层和作业规则。如果您想将您的数据库从MySQL移植到Oracle,或者转而的冲RDBMS数据源到LDAP,只需要改变你的模型即可。一旦您对的兑现了型,不管而的多寡来源于数据库或是LDAP服务器,视图将会晤不错的示她。由于下MVC的应用程序的老三只部件是相独立,改变中一个无见面潜移默化其它少个,所以基于这种设计思想你能够组织良好的松偶合的部件。

针对我吧,控制器的啊供了一个补,就是可利用控制器来连接不同之范与视图去得用户的需,这样控制器可以吧布局应用程序提供强劲的手腕。给一定有只是选用的范与视图,控制器可以依据用户的要求选择模型进行拍卖,然后选择视图将处理结果显示为用户。

四、MVC的缺点

MVC的缺点是由于它从不显著的概念,所以全知道MVC并无是蛮爱。使用MVC需要细致之计划,由于它们的里原理比较复杂,所以需要花费有光阴错开想。

公以不得不花费Oracle相当可观的工夫错开考虑什么拿MVC运用到您的应用程序,同时由模型与视图要严厉的离别,这样吗为调试应用程序到来了自然之艰难。每个构件在用之前还亟需通过到底底测试。一旦你的构件经过了测试,你不怕足以毫无顾忌的选用它们了。

基于开发者经验,由于开发者将一个应用程序分成了三独部件,所以下MVC同时也象征你将要管理于以前又多的文件,这或多或少凡家喻户晓的。这样看似我们的工作量大增了,但是要牢记这正如由其所能够带动为咱的利益是不值一提。

MVC并无合乎小型甚至中等规模的应用程序,花费大量日用MVC应用到面并无是特别挺之应用程序通常会得不偿失。

五、MVC是平漫长创建软件之好路子

MVC设计模式是一个很好创造软件之路子,它所提倡的片条件,像内容以及显示互相分离可能较好明。但是要您如切断模型、视图和控制器的部件,你或要再考虑你的应用程序,尤其是应用程序的构架方面。如果您肯接受MVC,并且发生力量应付它所带来的附加的工作及复杂,MVC将会晤要您的软件在健壮性,代码用和结构方面达到一个初的阶梯。

相关文章