仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 736|回复: 9
打印 上一主题 下一主题

[学习教程] ASP.NET网站制作之ASP.NET MVC 1.0浅析仓酷云

[复制链接]
灵魂腐蚀 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:25:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

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?
第二个灵魂 该用户已被删除
沙发
发表于 2015-1-21 05:40:27 | 只看该作者
CGI程序在运行的时候,首先是客户向服务器上的CGI程序发送一个请求,服务器接收到客户的请求后,就会打开一个新的Process(进程)来执行CGI程序,处理客户的请求。CGI程序最后将执行的结果(HTML页面代码)传回给客户。
变相怪杰 该用户已被删除
板凳
发表于 2015-1-21 09:35:39 | 只看该作者
PHP的源代码完全公开,在OpenSource意识抬头的今天,它更是这方面的中流砥柱。不断地有新的函数库加入,以及不停地更新,使得PHP无论在UNIX或是Win32的平台上都可以有更多新的功能。它提供丰富的函数,使得在程式设计方面有着更好的资源。目前PHP的最新版本为4.1.1,它可以在Win32以及UNIX/Linux等几乎所有的平台上良好工作。PHP在4.0版后使用了全新的Zend引擎,其在最佳化之后的效率,比较传统CGI或者ASP等技术有了更好的表现。
金色的骷髅 该用户已被删除
地板
发表于 2015-2-6 12:51:38 | 只看该作者
有一丝可惜的是,这个系列太强了,Java阵营的朋友根本就是哑口无言...争论之火瞬间被浇灭,这不是我想这么早就看到的,但是值了。
谁可相欹 该用户已被删除
5#
发表于 2015-2-8 16:14:20 | 只看该作者
主流网站开发语言之CGI:CGI就是公共网关接口(CommonGatewayInterface)的缩写。它是最早被用来建立动态网站的后台技术。这种技术可以使用各种语言来编写后台程序,例如C,C++,Java,Pascal等。
海妖 该用户已被删除
6#
发表于 2015-2-10 01:35:01 | 只看该作者
ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象。
爱飞 该用户已被删除
7#
发表于 2015-2-28 11:06:33 | 只看该作者
但是目前在CGI中使用的最为广泛的是Perl语言。所以,狭义上所指的CGI程序一般都是指Perl程序,一般CGI程序的后缀都是.pl或者.cgi。
再见西城 该用户已被删除
8#
发表于 2015-3-9 22:45:11 | 只看该作者
可以看作是VC和Java的混合体吧,尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性。
再现理想 该用户已被删除
9#
发表于 2015-3-17 02:11:20 | 只看该作者
由于JSP/Servlet都是基于Java的,所以它们也有Java语言的最大优点——平台无关性,也就是所谓的“一次编写,随处运行(WORA–WriteOnce,RunAnywhere)”。除了这个优点,JSP/Servlet的效率以及安全性也是相当惊人的。
乐观 该用户已被删除
10#
发表于 2015-3-23 15:51:06 | 只看该作者
但是java靠开源打出的一片天地,特别是在微软的垄断下能打开今天的局面还是有它的生命力的。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-9-26 00:21

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表