码迷,mamicode.com
首页 > Web开发 > 详细

.NET学习攻略(二)

时间:2015-03-18 01:00:00      阅读:229      评论:0      收藏:0      [点我收藏+]

标签:

此文为转载,特此注明!

.NET学习路径

第一步 熟悉要使用的程序设计语言    目前支持.NET的语言共有二十五种,内建于Visual Studio .NET的程序语言则有Visual C++Visual BasicVisual C#等,其中VBC#可以说是为.NET所量身订作的,因此在此建议以这两种语言为主。 至于选择哪一种语言全看个人的情况。    近年来,VB 的开发者希望Microsoft公司能推出更强大、程序架构更合理的开发语言以符合企业的需求;而 C++ 的开发者则希望能Microsoft公司在整合开发环境 (IDE)里,像VB一样,提供新的快速应用开发(RAD)特性以提高开发效率。这也是Microsoft公司发布 Visual Basic .NET 和 C# 的主要原因。    如果您原本学习C+ +Java,可以选择C#,跟C++Java比较起来,C#除了九成以上雷同,整体的语法更是精炼而优美,C#同时也经审核通过成为一种工业标准的语言。至于原本学习VB的朋友,建议直接使用VB.NET,虽然在台湾,学习C++有一种强烈的优越感,但是如果使用的是 “Visual”,重在快速开发,VB其实也是很好的选择,目前全球约有八百万人使用VB开发程序。    在语言的效能上,由于.NET 应用程序架构是采取两阶段式的编译,第一阶段先将程序语言透过专属的编译器编译成中间语言(IL),第二阶段在由.NET Framework的成员Common Language RuntimeIL最佳化之后编译成机器码。(限于篇幅在此不多加赘述,可参考MSDN相关数据。)也就是说,无论用什么语言,都必须翻译IL,因此也没有什么效能上的区别了。 

 

第二步 学习使用 Microsoft .NET Framework    在开发分布式应用程序时,除了快速开发工具以外,还必须有一套整合与服务这些程序组件的中介软件,且这一套中介软件必须能与操作系统充分整合、使用系统所提供的资源与服务。在上一代的应用程序的中介软件包括MTS、 COMIISMSMQ、以及后来的COM+,而在.NET平台上,是以XML为基础的,且要达到AP-to-AP与 Programmable Web的目标,因此需要一个全新的中介软件,Microsoft公司提供给我们一个更强大的中介软件.NET Framework。    .NET Framework的架构共分为五大部份,其中.NET Framework本身具有的包括共通语言执行期环境( Common Language RuntimeCLR)、广泛的类别函式库,以及定义.NET语言的共通语言规范(CLS),另外则为承载.NET Framework的操作系统平台,及支持.NET语言的开发工具Visual Studio .NET    最底层的Common Language Runtime设计上有点像Java Virtual Machine,未来开发的.NET应用程序,都必须RunCommon Language Runtime上面。Common Language Runtime提供了非常多的Service让应用程序在开发上、或执行上更稳定、更快速。    在中间的部份为Class Library,在以前我们在开发程序的时候,我们可能会用一些APICOM LibraryMFC/ATL,等等,.NET Framework整合这些Functionality提供一致的Class Library,未来无论您用什么样的程序语言,都可以使用一致的Class Library。因此这一部份的学习重点在于如何引用、延伸这些类别函式库的功能,并建立自定义的类别函式库。    但是面对那么多的类别函式库,又面临了以前使用API 的窘境,要用哪个API?怎么用?都是问题。好在Microsoft公司在这一方面提供了绝佳的解决方案,利用名称空间(NameSpace)的架构,将这些类别分门别类,例如要使用与数据库相关的,就引用System.Data相关名称空间;若要使用到Web Service相关的类别,则引用System.Web.Services,依此类推。详细的族谱请参阅.NET Framework SDK说明文件。    至于Common Language Runtime的应用,则进一步提供应用程序调校的许多技术,如果不是进阶使用者,维持默认值有时比自己设定要好。 

 

 

第三步  学习如何开发Web 或 Windows 应用程序    在熟悉了程序语言与.NET Framework之后,又面临另一项选择:Windows Based 或 Web BasedVisual Studio.NET提供两种使用接口:ASP.NETWindows Forms。其中ASP.NET的使用接口又称为Web Forms。顾名思义,Web Forms将摆脱以前ASP难以开发的缺点,赋与像Windows Forms一样的开发环境,因此对于以前习惯于在交互式的环境下开发程序的朋友,现在也可以像以前开发VB应用程序那么简单的开发一个高效能的Web应用程序了。    那么Windows Forms呢?不用担心,Microsoft公司并没有厚此薄彼,Windows Forms也具有了全新的开发环境,包括以拖放方式建立数据库的连结与设定、使用 XML Web Services 、视觉继承、利用控件锚点和停驻自动建置可调整大小的窗体、以及直接以视觉方式来撰写菜单等。因此在这一部份不论您选择哪一样都可完全享受 到Visual Studio.NET强大的功能。   这一部份的学习重在操作环境的熟悉与控件的使用,建议先利用Microsoft公司网站上所提供的Sample Code练习,再利用在线说明书,逐一练习各控件,并利用这些既有控件开发功能丰富的使用者接口。而进阶使用者则必须能自行开发自定义的控件,包括Windows Controls 与 Web Controls 

 

 

第四步 学习建立并公布 Web 服务    过去,开发人员在开发程序的时候,必须依赖本机系统服务来建构应用程序,即使是采用多阶(n-tier)的架构,开发人员仍需要使用大量的程序资源,然而到了.NET时代,应用程序不在绑在某一操作系统上,而是将整个Internet当作应用程式的平台。为了达到这个目标,Microsoft公司利用了两项特质,包括更具弹性的多阶(n-tier)架构,以及网页上讯息导向的概念,建构了称为网页服务(Web Services)”的应用程序架构。就概念上而言,呼叫网页服务将网页服务(Web Service)整合于应用程序中,就像呼叫本机服务或其它组件一样。这之间的差别在于它是透过Internet来呼叫。或者可以说Web Service就是将以前的组件网络化而已。    因此在这一部份的学习除了包括如何建立与使用Web Service外,就跟以前学习Windows DNA的时候一样,必须强调部署与解决方案。例如,如何利用Web Service建构分布式应用程序,或利用Web Service提供信息服务等。    另一方面,由于.NET应用程序是架构在整个Internet上,因此安全性也是一大课题,建议在完成以上学习之后,能进一步探讨.NET安全技术,这一部份Microsoft也提供了相当多的技术资源可供下载。   

 

 

 

 

 

 

 

研究方向  智能信息处理实验室.Net小组的主要研究方向是“.Net平台下软件开发技术及相关应用,其研究内容包括.Net框架、.Net语言、面向对象的设计、软件工程学方法以及以上理论在实际中的应用。  小组将以.Net为开发平台,着眼于软件体系结构,特别是面向对象的软件设计方法,学习软件模块化、系统解耦合和设计模式等相关的理论知识,并结合实验室“Web语义工作流等已有的课题点,讨论以上技术在实际生产中的应用。  在更高层次上,小组将系统的学习目前较为常见的软件工程学方法,包括瀑布模式、螺旋模式和敏捷模式等。并在项目中尝试采用这些方法,分析这些模式的特点和适用范围,使小组成员掌握基本的软件项目管理能力。  二、  研究阶段  对于.Net下软件的开发的研究分为以下四个阶段:  第一阶段:.Net开发环境的掌握和相关开发技术的学习。这一阶段主要是掌握一门.Net语言(推荐C#);掌握.Net开发的基本技能,包括熟悉.Net框架中的核心类、用于数据访问的ADO.Net和用于Web应用的Asp.Net等;掌握Web开发的相关技术,包括数据库、HTMLJavaScriptCSS和服务器的配置等;熟悉Visual Studio .NetVisual Source Safe等开发工具。该阶段完成后小组成员将有能力阅读.Net系统的代码,并在已有的基础上进行改善的能力。  第二阶段:掌握基本的面向对象设计。在这一阶段,小组成将继续学习.Net框架的相关知识,了解包括反射、XMLORMAjax等较为深入的内容。同时,应该注重对相关原理的理解,包括IL语言、Asp.Net运行时和Http协议等。在软件结构体系方面,小组成员开始学习使用面向对象的方法进行思考,使用继承、引用和多态等面向对象的思路来描述系统的设计,掌握UML等系统设计工具。这一阶段将加大实践的比例,使小组通过开发实际项目,掌握相关的技术和面向对象设计能力。在这一阶段,随着项目实践的展开,小组成员开始接触软件工程学方法,了解不同的开发模式,掌握团队协作能力和相关协作工具的使用。  第三个阶段:掌握初步系统架构设计。在这一阶段,系统地实现已经不是重点,而该是如何设计出一个良好的系统结构。这要求深入的理解面向对象的思想,并且具有一定的开发经验。在这一阶段,小组将学习软件构架的相关知识,包括系统的模块化、模块间解耦合、面向对象的设计原则、设计模式、测试和重构等,并且学习使用这些知识对不同的系统进行设计,掌握各种模式的特点和使用范围,从而对于给定的系统要求能够设计出较为完善的架构。  第四阶段:掌握完善系统架构设计。这一阶段着眼于如何对系统的需求进行深入的理解,以及此基础上,设计出完善的系统架构。完善的系统架构应该重视并准确的反映系统的业务逻辑,并考虑需求变化的应对,兼顾系统的灵活性、健壮性、复杂度、开发效率和运行效率等诸多方面。小组成员在这一阶段将学习大量现有的优秀系统设计,并结合实验室相关项目,充分理解不同系统所应该采用的构架模式,并尽量能够拥有自己独到的设计见解和设计风格。  附:参考书目  1,  第一阶段:  a)  《C#高级编程》  b)  《Asp.Net高级编程》  c)  《HTML&XHTML权威指南》  d)  《JavaScript权威指南》  e)  《数据系统概论》  2,  第二阶段:  a)  《.Net Framework高级编程》  b)  《Asp.Net 技术内幕》  c)  《C# XML高级编程》  d)  《JavaScript高级编程》  e)  《Ajax基础教程》  f)  《代码大全2》  g)  《面向对象开发实践之路——C#版》  h)  UML书籍一本  3,  第三阶段:  a)  《重构——改善既有代码的设计》  b)  《敏捷软件开发——原则、模式及实践》  c)  《Head First Design Patterns》  d)  《设计模式——可复用的面向对象设计》  4,  第四阶段:  a)  《企业应用构架模式》  b)  《测试驱动开发》  c)  《程序员修炼之道》

.NET学习攻略(二)

标签:

原文地址:http://www.cnblogs.com/echowang/p/4346022.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!