若相依 发表于 2015-1-18 11:25:00

ASP.NET网站制作之程序员的.NET时期仓酷云

我有个同学,他是搞net网页编程的,他给我说“net网页编程不是效率低,而是速度慢。”,我不是搞net网页编程的,我实在想不透这句话的含义,难道执行速度不就是效率低吗?难道执行速度慢还成效率高了?手艺老是在不休开展,微软.NET平台履历了三年工夫的过程,已被宽大开辟职员所承受。我们使用VisualStudio.NET,能够疾速、高效地举行WindowsForm和WebForm的使用开辟。.NET是一个全新的观点,.NET代表了一个汇合、一个情况、一个编程的基础布局,作为一个平台来撑持下一代的互联网,由于我们信任天下不会发展到会合盘算的主机形式下。在XMLWebService手艺渐渐成熟的时分,软件可被看成一种服务,撑持新的设备,这些设备包含PC、挪动德律风、PDA、车载体系和机顶盒等,完成相干设备协同事情,给用户带来全新的体验,微软归纳着一场新的互联网反动。作为.NET开辟职员,我们应当会对将来充斥信念。
程序员是这场互联网反动的推进者,我们人人都在不休的进修手艺、充分自我,以顺应将来的变更(在这里我不想举行.NET和JAVA的对照,由于这两个范畴的手艺各有所长,并且涵盖的局限都相称广,纯真举行言语的对照是没成心义的)。微软用.NET为将来十年做了筹办,以是燃眉之急,必需把握.NET开辟工具这个利器,来构建我们的使用。实在.NET进门也是对照简单的,一样平常来讲,基础把握.NET程序计划三个月就够了,半年今后,你就会成为一个及格的.NET程序员。假如想成为.NET范畴的妙手,那就得在这个范畴堆集十分丰厚的履历。
.NET是这十年中对照盛行的开辟工具。我用.NET开辟已有两年多工夫了,现将我的进修履历和办法和人人分享。体系地进修.NET必要一个循规蹈矩的历程,我们分为进门级和提拔级。假如你是进门者,上面的每一个进修阶段都是很主要的。倘使你对.NET对照懂得,能够选择你的必要的常识举行进修。
进门篇
1.进修面向对象(OOP)的编程头脑
很多初级言语都是面向对象的编程,.NET也不破例。假如您第一次打仗面向对象的编程,就必需了解类、对象、字段、属性、办法和事务、封装、承继和多态性、重载、重写等观点。必要申明的是,微软的产物匡助文档做得十分完美,并且查询相称便利,进门者不能不看。安装完VisualStudio.NET2003(大概VisualStudio.NET2002)后,在“程序”组里有一个VisualStudio组合匡助汇合。初学者从匡助文档就会取得很多常识。
2.选择一门言语,进修语法及相干基本常识
选择言语的尺度:依据你本人的需乞降团体的手艺背景。在.NET平台下,C#、VB.NET都是挪用Framework的类库,效力基础一样,C#的语法松散,合适之前C++、VC的程序员。VB.NET不辨别巨细写,写法随便一些.,主动缩进,合适之前VB的程序员,微软也几回再三倡始用VB.NET举行疾速开辟。VC++.NET更靠近底层,能够用托管和非托管两种体例举行编程。
选择了必要利用的言语后,我们必要懂得言语的语律例则,包含语句、范例、表达式、运算符、函数等等,我倡议一入手下手写程序就要养成优秀的编程作风,标准地举行变量的定名,在代码中写好正文。这对今后的软件开辟生活都是很成心义的。
3.了解.NET头脑并熟习框架类库(FrameworkClassLibrary)
我们借用一幅图来讲明一下大众言语运转库(CLR)、框架类库(FCL)与使用程序之间和与全部体系之间的干系。

起首,我们要懂得大众言语运转库、程序集、通用范例体系的观点。在此基本上,进修.NET框架类库。.NET框架类库是一个与大众言语运转库严密集成的可重用的范例汇合。.NET框架类库封装了年夜部分Win32API,很多之前必要挪用API才干完成的功效,在.NET下十分简单就完成,很多情形下只必要一句话就充足了。以是,我们在程序计划的时分要只管制止挪用Win32API。进修.NET框架类库的捷径:把握经常使用的类库,别的不经常使用的类库只必要懂得,用到的时分查阅便可。
4.使用VisualStudio.NET写程序
在.NET平台下写程序我们一样平常用微软的开辟工具VisualStudio.NET,由于一个好的IDE,能极年夜地进步开辟效力。我倡议初学者从WindowsForms大概是WebForm入手下手,等有必定的基本以后,再转向写类库或是控件、组件方面的工具。微软的匡助文档里自带很多示例,我们能够一边看匡助,一边举行练习训练。在进修个中的代码的同时,必定要了解和思索。多写代码、从项目中熬炼是编程妙手的发展之路。记着:必定要多看多写源代码;多上论坛(如CSDN和Dev-club)和微软的旧事组会商手艺成绩。
我们必定要用好VisualStudio.NET这个集成开辟情况,除编写代码外,我们还要懂得.NET的部署道理,进修打包、部署及办理使用程序。多人开辟的项目能够思索用VisualSourceSafe举行源代码办理,这一系列开辟工具的利用都要有大批的理论。
保举书本:
《C#初级编程》(第二版)(清华年夜学出书社)
《Microsoft.NET程序计划手艺内情》(清华年夜学出书社)
《VisualVB.NET手艺内情》(清华年夜学出书社)
《VisualC#.NET手艺内情》(清华年夜学出书社)
.NET进门教程(包含WindowsForm和WebForm):
http://chs.gotdotnet.com/quickstart
5.最好把握年夜型数据库编程
一样平常来说,年夜多半软件开辟都触及到数据库。年夜部分软件的背景数据库都利用如Access、SQLSERVER、Oracle等。ADO.NET供应了对干系数据、XML和使用程序数据的会见。我们必需把握Connection、Command、DataReader和DataAdapter对象的利用,准确使用DataSet数据集和DataView举行数据操纵。固然,要有必定的数据库基本,包含表、视图、存储历程等的利用。必需把背景数据库和前台的ADO.NET都把握好,才干真正精晓数据库编程。
在项目标开辟中,倡议利用数据会见使用程序块(DataAccessApplicationBlock)来简化SQL查询。微软msdn网站有下载,我们能够使用SqlHelper类举行的数据会见,利用起来十分复杂,很简单地构建我们的数据会见层。参考微软MSDN文档:
http://msdn.microsoft.com/library/default.aspurl=/library/en-us/dnbda/html/daab-rm.asp
保举书本:
《ADO.NET手艺内情》(清华年夜学出书社)
《ADO.NET初级编程》(中国电力出书社)
《VB.NET和SQLServer2000初级编程—创立高效数据层》(清华年夜学出书社)
6.进修XMLWEBService
XMLWebservices正在创始一个散布式使用程序开辟的新时期。XMLWebServices是把软件当做服务的一种表现,经由过程利用XML动静处置启用数据互换和使用程序逻辑远程挪用。XML使数据可以经由过程防火墙,完成异类体系之间挪动数据。固然大众的WebServices还不是很提高,可是在一些企业中,已触及到了WebServices的开辟。用VisualStudio.NET很简单创立Web服务,挪用Web服务也相称复杂,只必要增加一个Web援用,然后挪用便可。举行这方面的进修,必要懂得Web服务形貌言语(WSDL)、SOAP协定等。
保举书本:
《构建XMLWEB服务:基于Microsoft.NET平台》(清华年夜学出书社)
《BuildingXMLWEBServicesfortheMicrosoft.NETPlatform》(影印版)
.NET手艺网上资本:
中国软件网(中国最年夜的手艺社区)
http://www.csdn.net
盘算机天下开辟者俱乐部
http://www.dev-club.com
中国DotNet俱乐部
http://www.aspx.cn
微软官方MSDN威望站点:
http://msdn.microsoft.com
微软官方ASP.NET站点:
http://www.asp.net
微软官方WindowsForm站点:
http://www.windowsforms.net
微软官方DotNET站点:
http://www.gotdotnet.com
英文站点Codeproject:
http://www.codeproject.com

************************************************************************
提拔篇
1.进修.NET框架开辟平台底层道理和系统布局
.NET框架的中心是大众言语运转时(CommonLanguageRuntime,CLR)。一般情形下,我们利用一种初级言语(如C#大概VB.NET)编写程序,这些初级言语的编译器发生的是一个托管模块(即两头言语IL代码)。托管模块是一个必要CLR才干实行的尺度WindowsPE文件。实行两头言语代码的时分,CLR中的立即编译器(Just-in-time,简称JIT)把其转换成CPU指令。这两头有很多细节,包含怎样初始化CLR,微软组件运转时实行引擎MSCorEE.dll(MicrosoftComponentObjectRuntimeExecutionEngine,在system32目次下)怎样事情等等。假如你想精晓.NET手艺,就必需对.NET框架道理、程序集、元数据、值范例/援用范例、范例计划、非常处置、主动渣滓接纳等中心手艺有一个分明的熟悉。
保举书本:
《.NET框架程序计划》(订正版)(清华年夜学出书社)
《Applied.NETFrameworkProgramming》(影印版)JeffreyRichter著
《.Microsoft.NETIL汇编言语程序计划》
《.NET实质论》(中国电力出书社)
2.纯熟运转底层工具举行调试息争决各类成绩
懂得.NET平台的底层道理,我们必要学会一些工具和CLR调试器(DbgCLR.exe)的利用。C#命令行编译器(Csc.exe)和VB.NET编译器(Vbc.exe)的主要性就不必再多说。
.NET框架SDK供应的几个对照主要的工具是:MSIL汇编程序(Ilasm.exe)、MSIL反汇编程序(Ildasm.exe)、程序集链接器(Al.exe)。激烈倡议人人在开辟中多利用MSIL反汇编程序(Ildasm.exe),以增强对CLR和底层的懂得。MSIL汇编程序(Ilasm.exe)从MSIL汇编言语天生可移植可实行的PE文件。反汇编程序(Ildasm.exe)可对恣意.NET框架.exe或.dll程序集举行剖析,并以可读的格局显现信息。程序集链接器(Al.exe)从一个或多个文件天生一个带有程序集清单的文件。.NET框架SDK还供应很多别的的工具,如:PEVerify工具(Peverify.exe)、强称号工具(Sn.exe)等,我们力图能用命令行的体例利用他们。
必要指出的是:VisualStudio.NET不是能完成一切命令行能做的事情,一些义务必需由命令行来完成。如:创立多文件程序集,必需乞助于csc.exe的addmodule选项。只要在对.NET框架有很深了解的基本上,才会天真使用这些工具。
3.举行年夜型软件体系架构计划
举行软件体系的架构计划,必要堆集相称丰厚的履历,请求我们从全局的观点上掌控软件的整体布局。起首的一点是,我们必需参照软件需求仿单。需求仿单是用户和开辟两边对所开辟软件的功效、功能、用户界面及运转情况等做出具体的申明,以是我们计划软件必需以此为根据。接上去,我们要做软件的整体计划,即提要计划。一样平常必要依据软件的营业需乞降营业流程举行模块分别,计划程序的整体布局、输出输入和接口计划、运转计划、数据布局计划和堕落处置计划等,为具体计划奠基基本。在具体计划中必要指出每模块是如何完成的,包含完成算法、逻辑流程、数据流程图等。今后的事情,就是程序的完成。测试是和编码同步举行的,必需严厉把好质量关。
在用.NET开辟年夜型体系的时分,一样平常都是做成三层(或是N层)布局的情势。行将使用程序逻辑地分为3个基础层:数据会见和存储、营业逻辑层、暗示层。三层布局的长处次要是:可扩大性、可伸缩性和天真性。在做Web使用的时分,能够思索接纳MVC(模子-视图-把持器Model-View-Controller)形式让Web使用程序的用户界面功效完成模块化。
特地要说的是,年夜型软件偶然必要整合多种产物,来满意企业级的使用需求。微软供应了很多Server产物,如SQLServer、ExchangeServer、SharePointServer、BizTalkServer等。记着:人人必定要多懂得微软的产物线,微软良多手艺都是符合相承的,分离起来才干发扬感化!我们能够微软的Server级产物的基本上整合软件体系、完成数据共享会见、终端设备上的电子邮件、动静合作。总之,经由过程互联网,让一切人一同协同事情,是将来软件的开展趋向。我们掌控好这些偏向,就即是把握将来。
保举书本:
《利用Microsoft.NET的企业办理计划形式》微软出书社
《EnterpriseSolutionPatternsUsingMicrosoft.NET》MSPress
网上资本:
软件工程专家网
http://www.51cmm.com
UML软件工程构造
http://www.uml.org.cn/
http://www.umlchina.com
4.率领团队举行软件开辟
一个好的团队,才干开辟一个乐成的产物。软件开辟次要由项目办理团队、软件开辟团队、软件测试团队构成。项目办理职员次要对项目举行把持,和谐开辟职员、测试职员的事情。开辟职员的事情次要是卖力软件的完成。测试职员是软件产物的质量保证。别的职员,如产物计划方面、软件手艺撑持和文档、后勤都是不成短少的。
年夜型软件是很多人个人伶俐的结晶,请求ProjectLeader有较强的办理才能和手艺背景,和优秀的相同才能。假如你作手艺的工夫很长,堆集了丰厚的履历,做过项目组长等办理事情,经由过程不休的进修和提拔,极有大概发展为ProjectLeader。假如你已经是ProjectLeader,就到对软件的成败卖力,你能够依据现有资本决意开辟中义务分派,公道用人,决意功效模块是不是值得开辟,项目进度把持等很多成绩。总之,率领团队的人必需有真知灼见,接纳准确办法引领团队获得乐成。
保举书本:
《人月神话》清华年夜学出书社
《人件》清华年夜学出书社
手艺瞻望
1.无缝盘算(SeamlessComputing)
今朝,年夜部分的使用还范围于桌面体系。在已往的二十年,软件界说了信息时期,但遭到硬件的范围。明天,软件决意了数字时期。“无缝盘算”是一个软件立异框架,旨在打消分歧软件体系之间所存在的界限,无缝盘算观点就是要以无缝的体例发扬硬件的全体才能。软件的基本性立异应在收集化体系、信息驱动型软件和多媒体用户接口等范畴中表现出来。将来,软件将不再受制于硬件功效。软件将匡助人们更好地协同功课,慢慢完成为人们供应幻想事情情况的无缝盘算。微软推出的WindowsServer2003、OfficeSystem2003、VisualStudio.Net、WebService,和从此刊行的SQLServer“Yukon”、WindowsLonghorn则是无缝盘算的基本。比尔.盖茨在Comdex2003集会上答应:要为无缝盘算供应全方位的框架与服务。无缝盘算──切实其实值得我们等候!
2.无线通讯
在无线通讯方面,用.NET举行挪动开辟,完成一切设备终端协同事情。微软在2003年已推出精简版的.Net开辟框架(.NetCompactFramework)。它和SmartDeviceExtensions(SDE)forVisualStudio.NET一同,将更强的开辟才能和壮大的编程平台带到了挪动设备(如PDA、挪动德律风、机顶盒和各类运转WindowCE.NET操纵体系的嵌进式设备)的开辟事情中。从此的无线通讯市场加倍伟大,微软和各年夜厂商的互助,将利用.NET举行挪动开辟的职员加倍受害。
总结:
.NET是一个划时期意义的观点,能够说将来十年内,会有更多的软件开辟商利用.NET。我们能够看到,如今的VS.NET功效已很壮大了。并且微软的开辟工具会加倍完美,每个新版本的VS.NET都比上一版本有很多提拔。今后将会有更多程序员步进.NET阵营,程序员的.NET时期,将会极年夜进步临盆率。假想假如天下上的每台服务器都运转一个WebService,供应一个WebAPI,每一个API都能完成一个壮大的功效,这是一个何等壮大的情况啊!我们等候这一切的统统。如今,我们要做的是:把握好明天的.NET,欢迎今天的光辉。
语言是不是不是最重要的?

小魔女 发表于 2015-1-21 05:43:51

我觉得什么语言,精通就好,你要做的就是比其他80%的人都厉害,你就能得到只有20%的人才能得到的高薪。

再见西城 发表于 2015-1-22 05:13:54

众所周知,Windows以易用而出名,也因此占据不少的服务器市场。

分手快乐 发表于 2015-1-30 20:25:07

目前在微软的.net战略中新推出的ASP.net借鉴了Java技术的优点,使用CSharp(C#)语言作为ASP.net的推荐语言,同时改进了以前ASP的安全性差等缺点。但是,使用ASP/ASP.net仍有一定的局限性,因为从某种角度来说它们只能在微软的WindowsNT/2000/XP+IIS的服务器平台上良好运行(虽然像ChilliSoft提供了在UNIX/Linux上运行ASP的解决方案.

灵魂腐蚀 发表于 2015-1-30 23:34:28

现在主流的网站开发语言无外乎asp、php、asp.net、jsp等。

只想知道 发表于 2015-2-6 16:59:09

有一丝可惜的是,这个系列太强了,Java阵营的朋友根本就是哑口无言...争论之火瞬间被浇灭,这不是我想这么早就看到的,但是值了。

小妖女 发表于 2015-2-9 18:30:02

ASP.net1.1和2.0在程序上的语法也有很大不同,现在2.0属于新出来的,不知道半年后会不会有3.0(说笑一下)。Windows2003系统自动支持ASP和ASP.net环境,不用安装任何程序。Asp.net属于编译语言。ASP的最大不同(ASP属于解释语言)。

admin 发表于 2015-2-27 15:51:23

是目前ASP在UNIX/Linux上的应用可以说几乎为0)。所以平台的局限性和ASP自身的安全性限制了ASP的广泛应用。

透明 发表于 2015-3-7 11:15:29

但是java靠开源打出的一片天地,特别是在微软的垄断下能打开今天的局面还是有它的生命力的。

第二个灵魂 发表于 2015-3-15 01:31:09

asp.net空间的支持有:ASP.NET1.1/虚拟目录/MicrosoftFrontPage2000扩展/CDONTS,同时他的网站上也提供了Asp.net的使用详解和程序源代码,相信对使用ASP.NET编程的程序员来说会非常有用哦!

精灵巫婆 发表于 2015-3-21 15:20:35

由于JSP/Servlet都是基于Java的,所以它们也有Java语言的最大优点——平台无关性,也就是所谓的“一次编写,随处运行(WORA–WriteOnce,RunAnywhere)”。除了这个优点,JSP/Servlet的效率以及安全性也是相当惊人的。
页: [1]
查看完整版本: ASP.NET网站制作之程序员的.NET时期仓酷云