|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
今天去面试,被问到C#中的new关键字,看了那么多的书对new关键字还是有一定认识,回来又把new复习了一遍,发现了许多以前还不知道的细节。为何要用ASP.NETMVC1.0?当我刚晓得1.0公布的时分,常常如许问。
1、MVC的构成
Models:会见数据库,装载数据、处置营业逻辑。在项目中表现为数据实体类加营业代办署理类。
Views:显现数据,用户界面。在项目中表现为aspx页面,偶然能够加上code-behind。
Controller:按路由划定规矩将哀求的数据传送给指定页面,用于显现;也能够把用户输出的数据传送给逻辑处置类。它能够包括复杂的考证逻辑。不该包括数据会见逻辑。
2、为什么利用MVC
提出MVC的目标不过是进步开辟效力、进步可测试性。
官方的ASP.NETMVC1.0指南中指出(以下简称指南),基于MVC的Web使用程序有以下长处:
[1]对庞大的程序办理更便利
Itmakesiteasiertomanagecomplexitybydividinganapplicationintothemodel,theview,andtheontroller.
[2]在开辟上有更高的可控性
Itdoesnotuseviewstateorserver-basedforms.ThismakestheMVCframeworkidealfordeveloperswhowantfullcontroloverthebehaviorofanapplication.
[3]Routing使软件计划有更多天真性
ItusesaFrontControllerpatternthatprocessesWebapplicationrequeststhroughasinglecontroller.Thisenablesyoutodesignanapplicationthatsupportsarichroutinginfrastructure.
[4]加倍合适测试驱动开辟
Itprovidesbettersupportfortest-drivendevelopment(TDD).
[5]团队开辟项目中有更高的可控性
ItworkswellforWebapplicationsthataresupportedbylargeteamsofdevelopersandWebdesignerswhoneedahighdegreeofcontrolovertheapplicationbehavior.
同时MVC框架另有以下特性:
[1]将使用程序分红各个构成部分,更有益于测试。MVC框架是基于接口的,如许能够使用MOCK体例来交换你的实践类;做单位测试的时分,也能够不运转Contrllers,如许的测试就更快更天真。
[2]MVC框架是可扩大的,你能够本人计划并交换视图引擎、URL导向划定规矩、Action的参数序列等等。同时MVC框架也撑持依附注进和把持反转,你能够从内部注进实例,而不必让类本人创立实例,你还能够经由过程设置文件的体例创立实例,如许使得测试更便利。
[3]壮大的URL映照组件使得你的使用程序的URL更容易了解,同时具有搜刮才能。你的URL不用包含文件路径,如许的计划很合适自界说查询引擎和REST架构。
[4]MVC框架仍旧撑持ASP.NET中的页面、用户控件、母版页作为视图的模板;同时你也还可使用嵌套母版页、行内表达式(in-lineexpressions<%=%>)、服务器端控件、模板、数据绑定、当地化等等属于ASP.NET已有的工具。
[5]同时ASP.NET中的FORM考证、Windows考证、URL受权、Membership、脚色、输入、数据缓存、Session、Profile形态办理、设置、Provider框架等特征在MVC框架中仍旧是可用的。
小结:ASP.NETMVC1.0框架是基于ASP.NET的,以是他包含了ASP.NET中的几近一切特征。同时他为计划职员供应了一套测试的计划(固然这是一切言语平台MVC形式的个性)。在安装了框架的VS2008中还增添了很多功效,能够便利地增加Views、Models、Controllers。
3、与三层布局的ASP.NET使用程序对照
与一般ASP.NET对照而言,最年夜的区分仍是在于前台开辟,背景包含的数据库会见、逻辑处置与以往的体例没有分明区分,在MVC框架中,这些统称为Model。而三层布局中,这些能够称为数据会见层与逻辑处置层。
[1]页面开辟
用这类形式开辟的站点,光看页面的代码切实其实比以往少一些,但它更多地利用了页面剧本(<%...%>)用于显现数据。在指南中并未提到不保举利用服务器端控件,可是它供应了大批的HTMLHELPER,并且还同意你本人增加Helper,好比DataGridHelper,以是在MVC框架中利用这些Helper会更便利些,不外这关于纯熟工来讲应当影响不年夜,由于实践开辟中我们更多利用的是Ctrl+C/Ctrl+V,复制几个标签和复制几个Helper办法所花的工夫差未几。大概关于老手来讲,假如对标签不熟习的话,用这些Helper的速率会快些,可是如许会影响老手把握标签,真是冲突呐。
[2]数据提交
一般的ASP.Net开辟,在提交数据的时分大概还必要经由过程设置数据绑定,大概在code-behind里写封装代码;而在MVC中,框架主动匡助你将页面上填写的数据封装到事前指定的Model中,数据提交操纵在MVC框架挺便利。并且在一般ASP.NET页面中,常常会呈现某个属性没法绑归去的情形,这点在MVC中应当能够失掉办理。指南中提到了Routing的利用使得MVC框架下的使用程序在操纵自界说查询时变得更便利,实践上在查询方面跟一般体例并没有多年夜区分,都是对封装好的类举行剖析。至于“URL更简单了解”,如今使用程序都是从界面上点击来完成操纵,很少有人会存眷URL自己吧,以是这个长处不算长处。
[3]单位测试
从测试上讲,MVC框架的确做得不错,若用MOCK体例测试能够更便利,一个好的WEB使用程序计划就应当将页面出现与逻辑分隔,这点一般ASP.NET使用程序也是能够做到的,关头在于计划。
[4]别的
MVC框架在考证、母版页这些中央有几个新特征,但与一般ASP.NET的体例迥然不同,因而不细心说了。
比来正在思索是不是在我们的企业级使用中利用ASP.NETMVC1.0框架,因而会一向找利用它的来由,但愿人人在存眷手艺的同时,分离企业使用谈谈本人的意见。
本文来自:http://www.ckuyun.com/andy1027/archive/2009/04/01/1427369.html
那做企业软件是不是最好用J2EE? |
|