asp.net学习路径是怎么样的?

asp.net学习路径是怎么样的?,第1张

.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,就到对软件的成败负责,你可以根据现有资源决定开发中任务分配,合理用人,决定功能模块是否值得开发,项目进度控制等许多问题。总之,带领团队的人必须有远见卓识,采取正确方法引领团队取得成功。

反编译不了,vs自带的反编译软件只能看见一些方法的名字啊,返回值之类的,具体代码看不见

但是如果网上载的反编译软件的话可能会反编译出来一些乱七八糟的东西,可以参考,但是你直接复制代码然后编译的话基本上都会报错的

你可以多下载一些反编译软件,然后每个都参考一下

简单地说,它们不是一种语言,语法有差别,编程时具体用到的类库或者函数库也不一样。

虽然它们不是一种语言,不过它们却也有所联系。广泛地说,C可以看作其他三种语言的源语言,因为其他三种语言几乎都是从C而来的,无论从数据类型还是控制语句看,其他三种语言都有从C得来的迹象。

其中C++则一般看作是对C语言的扩展。因为C语言没有面向对象的语法结构,而当时业界又迫切需要面向对象的编程特性,所以贝尔实验室的开发者就为C添加了面向对象的结构。现在C++已经不只是C的扩展了,它已经完全可以被看作一种新的编程语言。虽然C的特性以及库函数仍然被C++支持,不过C++拥有自己的独立的类库体系,功能相当强大。

Java语言是一种完全的面向对象语言,虽然它的底层(运行时库)是用C语言开发的,可是并不依赖于C。因为Java的运行是在运行时库的支持下进行的,所以运行效率比起可以更接近底层的C/C++来说效率会有所影响,不过Java的类库采用很好的设计理念设计,非常好用,也非常实用,已经成为业界的一种标准开发语言。它的跨平台的特性尤其让很多开发者欢迎,你只需要开发一次就能在所有安装了Java运行时库的系统上运行。Java发展了十几年了,可以应用领域非常之广泛,Web开发有JSP,J2EE,桌面领域现在有JavaFX。

C#是微软开发的一种编程语言,语法类似Java,几乎就是从Java的翻版。运行原理和Java也类似,也是通过运行时库的支持运行。不过支持的平台还很有限。JAVA几乎被所有平台支持,而C#目前只被Windows和Linux支持,Windows下的支持当然是由微软自己开发的,而Linux下的支持则有MONO支持。实际上,MONO也是把C#应用转化为JAVA应用而已,所以本质上,C#仍然只是被微软自己的 *** 作系统支持。应用平台受到限制,是它最大的缺点。

C/C++的优点在于与底层比较接近,可以控制的粒度更加精细,是开发系统级应用的最佳选择。关于缺点,我想正是源于其优点,因为它们能控制的编程元素粒度精细,所以编程比较困难,烦琐,容易出错。

Java和C#都比较高级,可以看作高级语言的高级语言,优点是开发容易,但运行效率不如更为底层的C/C++。

具体选择使用的时候,可以根据实际的项目需要选择。运行效率要求高的,底层控制要求高的用C/C++,否则可以选择Java或C#;跨平台的要求高的可以用Java。

关于跨平台,C/C++也是很好的语言,因为所有平台都支持,不同的是,不同平台支持的实现不同,类库不同,要编写跨平台的程序,需要选择跨平台的类库,如标准类库,如果标准类库的支持不够也只需要附加编写一个跨平台的支持类库。

几种语言内容都很多,在这里就不详细列举了,要学好每一种都需要花费相当大的精力,祝你能有所成就!

http://blog.chinaunix.net/u/12470/showart_374611.html

要说区别,首先就得说联系,我不记得在哪儿看过这么一句话:C是爷爷,C++是爸爸, C#是c的外孙。这形象说明了三者的关系。

从时间先后上说,他们之间最早出现的是C,然后是c++,最后是c#。c++是为了解决软件危机而引入面向对象,c#为了实现平台统一和java争夺市场下的产物。

从性能上说, c的效率最高,c++次之,c#最低。C是面向过程的结构化编程语言,他的特点是语言体积小,效率高, 语言灵活,给程序的限制小,而且可以方便的对低层进行 *** 作,所以它非常适合于开发 *** 作系统,驱动程序,嵌入式等对速度要求较高的程序。 C++使向下完全兼容C的, C++与C相比最显著的变化就是增加了面向对象的成分,也就是增加了类的概念,因为它的增加使软件开发可以比较容易的描述人类的思维,使得软件的开发和维护变得相对简单,直接降低了软件的成本, 但因为C++是面向对象的语言,这本身就制约他的速度,所以C++适合开发那些大型项目,现代的大部分语言都或多或少的借鉴了C++和C的某些特性. C#被包括在.net平台下,是一个面向对象面向网络面向组件的语言, 有很多地方与java非常相似,擅长于开发网络方面的程序. 因此,更确切的说,c#是一个需.net平台支持的开发语言,单纯看c#没有意义,需要了解.net平台的开发知识。

从编译角度看,C/C++编译生成目标文件都是可被CPU直接理解的机器码, 而C#编译后生成的是MSIL(Microsoft Intermediate Language)这种语言不能直接被CPU执行,而是依靠.net framework翻译(Just-in-time compiling)成opcode后再送到CPU执行的。因此,这也是上面为什么说c#运行效率最低的缘故。(但是这种效率低,是说平均意义上的,不是绝对的)

嗯,不知道有没有什么错误,欢迎大家排砖。

他们之间最早出现的是C, C是面向过程的结构化编程语言,他的特点是语言体积小,效率高(可执行文件的效率在除了图象编程方面外只比汇编低20%左右), 语言灵活,给程序的限制小,而且可以方便的对低层进行 *** 作,所以它非常适合于开发, *** 作系统,驱动程序,嵌入式等对速度要求较高的程序, 后来随着软件危机的出现,人们意识到

面向过程的语言不容易描述人类的思维,在做大型程序的

时候会增加软件难以调试和维护,这无形中增加了软件的成本,由此C++应运而生, C++使向下完全兼容C的, C++与C相比最显著的变化就是增加了面向对象的成分,也就是增加了类的概念,因为它的增加使软件开发可以比较容易的描述人类的思维,使得软件的开发和维护变得相对简单,直接降低了软件的成本, 但因为C++是面向对象的语言,这本身就制约他的速度,所以C++适合开发那些大型项目,现代的大部分语言都或多或少的借鉴了C++和C的某些特性.

C#是Microsoft为了实现平台统一和与java争夺市场下的产物,它被包括在.net平台下,是一个面向对象面向网络面向组件的语言, 有很多地方与java非常相似,擅长于开发网络方面的程序.

总的来说C是爷爷,C++是爸爸, C#是外孙

http://bbs1.softhouse.com.cn/forum/forum/viewthread?thread=46332


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/11548816.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-16
下一篇2023-05-16

发表评论

登录后才能评论

评论列表(0条)

    保存