ASP.net 学习路线(详细)

.net学习路线

入门篇1.         学习面向对象(OOP)的编程思想

许多高级语言都是面向对象的编程,.NET也不例外。如果您第一次接触面向对象的编程,就必须理解类、对象、字段、属性、方法和事件、封装、继承和多态性、重载、重写等概念。需要说明的是,微软的产品帮助文档做得非常完善,而且查询相当方便,入门者不得不看。安装完Visual Studio.NET2003(或者Visual Studio.NET2002)后,在“程序”组里有一个Visual Studio 组合帮助集合。初学者从帮助文档就会获得许多知识。

2.         选择一门语言,学习语法及相关基础知识

选 择语言的标准:根据你自己的需求和个人的技术背景。在.NET平台下,C#、VB.NET都是调用Framework的类库,效率基本一样,C#的语法严谨,适合以前C++、VC的程序员。VB.NET不区分大小写,写法随意一些.,自动缩进,适合以前VB的程序员,微软也一再提倡用VB.NET进行快速开发。VC++.NET更接近底层,可以用托管和非托管两种方式进行编程。

选择了需要使用的语言后,我们需要了解语言的语法规则,包括语句、类型、表达式、运算符、函数等等,我建议一开始写程序就要养成良好的编程风格,规范地进行变量的命名,在代码中写好注释。这对以后的软件开发生涯都是很有意义的。

3.         理解.NET思想并熟悉框架类库(Framework Class Library)

我们借用一幅图来说明一下公共语言运行库(CLR)、框架类库(FCL)与应用程序之间以及与整个系统之间的关系。

首 先,我们要了解公共语言运行库、程序集、通用类型系统的概念。在此基础上,学习.NET框架类库。.NET框架类库是一个与公共语言运行库紧密集成的可重用的类型集合。.NET 框架类库封装了大部分Win32 API,许多以前需要调用API才能实现的功能,在.NET下非常容易就实现,许多情况下只需要一句话就足够了。所以,我们在程序设计的时候要尽量避免调用 Win32API。学习.NET 框架类库的捷径:掌握常用的类库,其它不常用的类库只需要了解,用到的时候查阅即可。

4.         利用Visual Studio.NET写程序

在. NET平台下写程序我们一般用微软的开发工具Visual Studio.NET,因为一个好的IDE,能极大地提高开发效率。我建议初学者从WindowsForms或者是WebForm开始,等有一定的基础之后,再转向写类库或是控件、组件方面的东西。微软的帮助文档里自带许多示例,我们可以一边看帮助,一边进行演练。在学习其中的代码的同时,一定要理解和思考。多写代码、从项目中锻炼是编程高手的成长之路。记住:一定要多看多写源代码;多上论坛(如CSDN和Dev-club)和微软的新闻组讨论技术问题。

我们一定要用好 VisualStudio.NET这个集成开发环境,除了编写代码外,我们还要了解.NET的部署原理,学习打包、部署及管理应用程序。多人开发的项目可以考虑用 VisualSource Safe进行源代码管理,这一系列开发工具的使用都要有大量的实践。

推荐书籍:

《C#高级编程》(第二版)(清华大学出版社)

《Microsoft.NET程序设计技术内幕》(清华大学出版社)

《 Visual VB.NET技术内幕》 (清华大学出版社)

《 Visual C#.NET技术内幕》 (清华大学出版社)

.NET入门教程(包括Windows Form和Web Form):

http://chs.gotdotnet.com/quickstart

 

5.         最好掌握大型数据库编程

一 般来讲,大多数软件开发都涉及到数据库。大部分软件的后台数据库都使用如Access、SQLSERVER、Oracle等。ADO.NET提供了对关系数据、XML和应用程序数据的访问。我们必须掌握Connection、Command、DataReader 和 DataAdapter对象的使用,正确运用DataSet数据集和DataView进行数据操作。当然,要有一定的数据库基础,包括表、视图、存储过程等的使用。必须把后台数据库和前台的ADO.NET都掌握好,才能真正精通数据库编程。

在 项目的开发中,建议使用数据访问应用程序块(Data Access ApplicationBlock)来简化SQL查询。微软msdn网站有下载,我们可以利用SqlHelper类进行的数据访问,使用起来非常简单,很容易地构建我们的数据访问层。

推荐书籍:

《ADO.NET技术内幕》(清华大学出版社)

《ADO.NET高级编程》(中国电力出版社)

《VB.NET和SQL Server 2000高级编程—创建高效数据层》(清华大学出版社)

6.         学习XML WEB Service

XML Web services 正在开创一个分布式应用程序开发的新时代。XML Web Services 是把软件当成服务的一种体现,通过使用 XML消息处理启用数据交换和应用程序逻辑远程调用。XML使数据能够通过防火墙,实现异类系统之间移动数据。虽然公共的WebServices还不是很普及,但是在一些企业中,已经涉及到了Web Services的开发。用Visual Studio.NET很容易创建Web服务,调用Web服务也相当简单,只需要添加一个Web引用,然后调用即可。进行这方面的学习,需要了解Web 服务描述语言(WSDL)、SOAP协议等。

推荐书籍:

《构建XML WEB服务:基于Microsoft.NET平台》(清华大学出版社)

《Building XML WEB Services for the Microsoft .NET Platform》(影印版)

.NET技术网上资源:

中国软件网(中国最大的技术社区)

计算机世界开发者俱乐部

中国Dot Net俱乐部

微软官方MSDN权威站点:

************************************************************************

提升篇

1.         学习.NET框架开发平台底层原理和体系结构

.NET 框架的核心是公共语言运行时(Common LanguageRuntime,CLR)。通常情况下,我们使用一种高级语言(如C#或者VB.NET)编写程序,这些高级语言的编译器产生的是一个托管模块(即中间语言IL代码)。托管模块是一个需要CLR才能执行的标准WindowsPE文件。执行中间语言代码的时候,CLR中的即时编译器(Just-in-time,简称JIT)把其转换成CPU指令。这中间有许多细节,包括怎么初始化CLR,微软组件运行时执行引擎MSCorEE.dll(Microsoft Component ObjectRuntime ExecutionEngine,在system32目录下)怎么工作等等。如果你想精通.NET技术,就必须对.NET框架原理、程序集、元数据、值类型/引用类型、类型设计、异常处理、自动垃圾回收等核心技术有一个清楚的认识。

推荐书籍:

《.NET框架程序设计》(修订版) (清华大学出版社)

《Applied .NET Framework Programming》(影印版)Jeffrey Richter著

《.Microsoft .NET IL汇编语言程序设计》

《.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产品,如SQL Server 、ExchangeServer、Share Point Server、BizTalkServer等。记住:大家一定要多了解微软的产品线,微软很多技术都是相符相承的,结合起来才能发挥作用!我们可以微软的Server级产品的基础上整合软件系统、实现数据共享访问、终端设备上的电子邮件、消息协作。总之,通过互联网,让所有人一起协同工作,是未来软件的发展趋势。我们把握好这些方向,就等于驾驭未来。

推荐书籍:

《使用 Microsoft .NET 的企业解决方案模式》微软出版社

《Enterprise Solution Patterns Using Microsoft .NET》 MS divss

4.         带领团队进行软件开发

一 个好的团队,才能开发一个成功的产品。软件开发主要由项目管理团队、软件开发团队、软件测试团队组成。项目管理人员主要对项目进行控制,协调开发人员、测试人员的工作。开发人员的工作主要是负责软件的实现。测试人员是软件产品的质量保障。其它人员,如产品规划方面、软件技术支持和文档、后勤都是不可缺少 的。

大型软件是许多人集体智慧的结晶,要求 ProjectLeader有较强的管理能力和技术背景,以及良好的沟通能力。如果你作技术的时间很长,积累了丰富的经验,做过项目组长等管理工作,通过不断的学习和提升,极有可能成长为Project Leader。如果你已是ProjectLeader,就到对软件的成败负责,你可以根据现有资源决定开发中任务分配,合理用人,决定功能模块是否值得开发,项目进度控制等许多问题。总之,带领团队的人必须有远见卓识,采取正确方法引领团队取得成功。

推荐书籍:

《人月神话》清华大学出版社

《人件》清华大学出版社

 

 

来源:http://jingyan.baidu.com/article/ff42efa96667b5c19e2202d3.html

 

 

 

 

第一步

掌握一门.NET面向对象语言,C#VB.NET我强烈反对在没系统学过一门面向对象(OO语言的前提下去学ASP.NETASP.NET是一个全面向对象的技术,

不懂OO,那绝对学不下去!第二步对.NET Framewo类库有一定的了解可以通过开发Windows Form应用程序来学习.NET Framework

ASP.NET是建构在.NETFramework之上的技术,你对.NET Framework了解得越深,学习ASP.NET就越快。

举个例子:

下面简单列出几个对掌握ASP.NET非常重要的概念:

对象的内存模型,委托,事件,多线程,程序集和应用程序域,安全模型.NET Framework当然还有许多其它的东西

,但不理解与把握清楚上述这些东西,是很难真正把握ASP.NET的。出于急迫的心情与现实的考虑,

不少人没有扎实的面向对象基础就想直接学习ASP.NET,其结果只能是欲速则不达。在具备了OO基础之后,以下是具体的学习ASP.NET技术步骤。

第一步:学习HTMLCSS这并不需要去学一大堆的诸如DreamweaverFirework之类的各种网页设计工具,关键是理解HTML网页嵌套的block结构与CSSbox模型。

许多ASP.NET控件最后都必须转化为HTML。而且,div+CSS是当前主流的网页布局模型。学习这部分时,关键在于理解概念,而不需要将精力花在美化页面的许多技巧上,

那是网站美工的工作,不是程序员的工作。

第二步:学习JavaScriptJavaScript不是Java,它主要运行于浏览器端。可以完成许多工作,功能也很强大:比如它将客户端网页中的HTML元素看成一棵树,

可以编写代码访问并修改树节点,动态生成新的HTML代码,从而达到动态修改网页显示特性的目的。JavaScript在目前的网站开发中用得很多,

非常重要。另外,它也是目前非常流行的AJAX技术的基础。

第三步:学习计算机网络原理找一本大学<计算机网络>教材,重点看看它的有关互联网的部分,了解一些域名解析和HTTP协议等知识。这是进行互联网开发的理论基础。

第四步:学习ASP.NET表示层技术,会设计Web页面需要结合先前打好的面向对象技术的基础,至少掌握以下内容:

(1)各种Web控件的使用方法,

(2)理解信息在网页中的传送方式,比如CookieViewStateSession等的使用。

(3)ASP.NET应用程序与网页的生命周期,以及相关对象(比如httpcontextresponserequest)的用途。

(4)ASP.NET实现事件驱动的内幕

(5)自定义用户控件再次强调一下,没有OO基础,很难掌握上述技术,就只能被这些东东牵着鼻子走了,会很被动。

 

第五步掌握数据库技术具体地说,要学习以下内容:

(1)学会使用SQLServer 2005:不要求精通它的各种工具与管理配置技术,但至少知道如何连接,如何建表,如何创建存储过程

(2)学习ADO.NET,掌握使用代码人工访问数据库(别用VS2005的向导)的方法(3)学习数据绑定控件的使用

第六步理解多层架构这时,先前在OO学习阶段涉及到的程序集与应用程序域等就派上用场了,现在,网站架构大多采用多层架构:

表示层、业务逻辑层、数据存取层以及数据库本身。可以先上网找一此多层架构的资料看,再找一个现成的比较复杂的开源ASP.NET项目分析一下其架构就差不多了。

基本上都是一个套路,到处应用。有的朋友问:学习架构是不是必须学习设计模式。我的看法是:不必!当然,你如果学习过设计模式,那当然更好。但在实际开发中,

如果只想着机械地套用某种模式,反而起不到好的结果。我的观点:在学习设计模式时要多思多悟,其思想就会渐渐地融入你的大脑,在真实的设计实践中,

忘掉所有的写在书上的模式,一切从实际出发,相信你的直觉,只要达到设计要求的方案就是可行的方案,事实上,你这样做了之后,回过头来再看,会发现你的设计往往暗合设计模式的理论。

第七步学习XMLWeb Service先了解XML的基础知识,找本讲XML的书看一下就差不多了,

然后,再学习WebServiceWeb Service其实可类比为远程方法调用(XML格式表达的调用信息)。学到了这里,如果你还有兴趣,不妨再去看看SOA

,不过SOA的资料都是理论与概念,看起来比较郁闷,而且离实际开发可能比较远。所以,这是可选项。第八步学习AJAX学习AJAX的主要目的是创建具有更丰富特性的Web表示层,

而经过前面七步的学习,到此再学习AJAX已水到渠成,所有的基础都已具备,不会有太大的问题了。在基础未具备的前提下直接学AJAX,就象“浮沙之上筑高台”,

所以,将AJAX的学习次序安排在这里。

第九步学习RIA技术RIARich internet application,可看成是将C/SB/S优点合二为一的尝试。就具体技术来说,主要指微软的Silverlight(WPF_E),毕竟前头一路行来都是微软路线。

不过目前学习它主要是为了技术储备。估计此技术的普及需要23年的时间,因为预装Vista的机器今年才开始大卖。

用这个方向来指引自己所学的路。使自己在学习技术时不会感到迷茫,

在加油。

 

 

 

posted on 2014-11-09 18:34  知鸟  阅读(5775)  评论(0编辑  收藏  举报