.NET学习攻略(二)

此文为转载,特此注明!


.NET学习路径


第一步 熟悉要使用的程序设计语言    目前支持.NET的语言共有二十五种,内建于Visual Studio .NET的程序语言则有Visual C++、Visual Basic、Visual C#等,其中VB与C#可以说是为.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 Runtime将IL最佳化之后编译成机器码。(限于篇幅在此不多加赘述,可参考MSDN相关数据。)也就是说,无论用什么语言,都必须“翻译”成IL,因此也没有什么效能上的区别了。

第二步 学习使用 Microsoft .NET Framework    在开发分布式应用程序时,除了快速开发工具以外,还必须有一套整合与服务这些程序组件的中介软件,且这一套中介软件必须能与操作系统充分整合、使用系统所提供的资源与服务。在上一代的应用程序的中介软件包括MTS、 COM、IIS、MSMQ、以及后来的COM+,而在.NET平台上,是以XML为基础的,且要达到AP-to-AP与 Programmable Web的目标,因此需要一个全新的中介软件,Microsoft公司提供给我们一个更强大的中介软件.NET Framework。    .NET Framework的架构共分为五大部份,其中.NET Framework本身具有的包括共通语言执行期环境( Common Language Runtime,CLR)、广泛的类别函式库,以及定义.NET语言的共通语言规范(CLS),另外则为承载.NET Framework的操作系统平台,及支持.NET语言的开发工具Visual Studio .NET。    最底层的Common Language Runtime设计上有点像Java Virtual Machine,未来开发的.NET应用程序,都必须Run在Common Language Runtime上面。Common Language Runtime提供了非常多的Service让应用程序在开发上、或执行上更稳定、更快速。    在中间的部份为Class Library,在以前我们在开发程序的时候,我们可能会用一些API,COM Library,MFC/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 Based。Visual Studio.NET提供两种使用接口:ASP.NET与Windows 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开发的相关技术,包括数据库、HTML、JavaScript、CSS和服务器的配置等;熟悉Visual Studio .Net、Visual Source Safe等开发工具。该阶段完成后小组成员将有能力阅读.Net系统的代码,并在已有的基础上进行改善的能力。  第二阶段:掌握基本的面向对象设计。在这一阶段,小组成将继续学习.Net框架的相关知识,了解包括反射、XML、ORM和Ajax等较为深入的内容。同时,应该注重对相关原理的理解,包括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)  《程序员修炼之道》

时间: 2024-10-11 01:23:42

.NET学习攻略(二)的相关文章

这才叫新手教程,2019献给所有小白的学习攻略!

迈入2019,你又立flag了吗?如果还没有,那么加入小白入门兴趣团吧,在这里你会看到另一个世界,一个潜藏在真实世界之后的暗世界,你甚至会开始怀疑一直以来的生活场景,怀疑一切理所当然的事情.到底是有多么不可思议呢,让我们在新年之初开启网络安全的学习之旅吧! 暗世界 任何事物都有对立面,看似美好的生活其实也隐藏着黑暗的一面,这里将会彻底改变你的世界观,来吧让我们进入网络安全的新世界!(以下视频在PC端体验更佳) 1.斯诺登6月专访,谈起如何摆脱监视牢笼 引言:手机或许是你买的,但是谁入侵了它,谁才

大数据入门级学习攻略

数据科学并没有一个独立的学科体系,统计学,机器学习,数据挖掘,数据库,分布式计算,云计算,信息可视化等技术或方法来对付数据. 但从狭义上来看,我认为数据科学就是解决三个问题: 很多初学者,对大数据的概念都是模糊不清的,大数据是什么,能做什么,学的时候,该按照什么线路去学习,学完往哪方面发展,想深入了解,想学习的同学欢迎加入大数据学习qq群:458345782,有大量干货(零基础以及进阶的经典实战)分享给大家,并且有清华大学毕业的资深大数据讲师给大家免费授课,给大家分享目前国内最完整的大数据高端实

.NET学习攻略(一)

此文为转载,特此注明! 在学习编程以前,通过<计算机科学导论>课程的学习,对计算机科学有一个大致全面的了解也是很有必要的.在学习面向对象的C++/JAVA/C#等语言以前,最好具有一定的面向过程的编程经验,比如C语言.另外,在图1中还漏掉了一项比较重要的技术——数据库技术,对于希望今年暑假与大三同学一起实习的2004级学生来说,如果你们认真阅读了我发布的实习手册的话,就会发现数据库的相关知识非常重要,大家可以先阅读一下我网站上发布的数据库教材. (以下文章转载于<CSDN开发高手>

前台页面优化全攻略(二)

1. 移除网站中社交网络的组件 看到这个标题请不要惊讶,我并不是让你放弃第三方社交平台,而是希望你能放弃那些肥胖的官方组件.你的网站中有社交平台的分享按钮么?这些按钮会为你的网站增重大概0.5M.我们知道,这些分享功能都是由JavaScript实现的,有些分享组件的网络连接会强制在加载页面之前进行. 太大的社交组件完全没有必要,你完全可以添加一个轻量级的社交分享按钮在你的网页中,几行html代码就能搞定的事为什么要弄的这么复杂呢?很 多人可能都没有在意到一个小细节,FaceBook的官方”赞“按

C++初级学习攻略 Step One

 1.      知识点 1.1.         Python 1.1.1.          程序 高级语言 低级语言 计算机结构 什么是程序 什么是调试 错误处理 语法错误 运行时错误 语义错误 调试 编程语言与自然语言 1.1.2.          值和类型 type 进制 表达式及优先级 字符串操作 注释 1.1.3.          函数 类型转换函数 模板 os模板 from导入 自定义函数 执行流程 实参和形参 栈 函数的作用 1.1.4.          条件循环 布

Linux学习攻略分享,云计算应该怎么学?

要学好云计算首先就要养成在命令行下工作的习惯,一定要养成在命令行下工作的习惯,要知道X-window只是运行在命令行模式下的一个应用程序.在命令行下学习虽然一开始进度较慢,但是熟悉后,您未来的学习之路将是以指数增加的方式增长的.从网管员来说,命令行实际上就是规则,它总是有效的,同时也是灵活的.即使是通过一条缓慢的调制解调器线路,它也能操纵几千公里以外地远程系统. 用Unix思维思考Linux 由于Linux是参照Unix的思想来设计的,理解和掌握它就必须以Unix的思维来进行,而不能以Windo

C++ 中级学习攻略 Step Two

 1.      知识点 1.1.         C过度到C++ 1.1.1.          第一章.C++基本概念 传统编程的缺点 对象 类 抽象 继承 封装 多态性 1.1.2.          第二章.高级函数特性 函数传参 默认参数 函数重载 1.1.3.          第三章.类 类的组成 权限控制 成员变量 成员函数 const和static用法 类的使用 单个对象 对象数组 1.1.4.          第四章.特殊成员函数 构造函数 析构 拷贝构造 赋值构造 类

2015年网络红包攻略

过年了,抢红包才是最重要的.今天是各大土豪狂发红包的日子,有事没事抢上点,乐在其中呗~来来来,我们再来总结下今天都将有哪些土豪会发红包,一起来淋一场春节"红包雨"吧. 马云红包,拼智力 天王盖地虎,宝塔镇河妖!这是啥?口令懂不咯?抢马云的红包就得这么来!99万9999个红包都得这么来,最低0.01元,最高4999元,拼智力的时候到了! 支付宝红包,拼手气 经过之前的预热,支付宝红包大家应该都会玩了,大家一起来打地鼠~~~今晚(除夕)支付宝红包将迎来高潮,20点.21点.22点.23点.

机器学习资料与攻略超强整理吐血推荐(二)

在前文<机器学习资料与攻略超强整理吐血推荐(一)>中,我们讲到要进入人工智能的圈子,数学是不可逾越的第一关,然后我们又推荐了一些你必须掌握的数学方面的资料.接下来,在这一篇中,我们将介绍关于机器学习的理论与工具方面的资料. 二.工具篇 工欲善其事,必先利其器.大数据时代,人工智能的工具趋势是显而易见且确定无疑的.作为一名数据科学家,其实你可以选择的工具非常多,其实随着时代的发展和技术的演进,传统的SPSS.STATA和SAS等这些老牌数据分析工具都已经集成了机器学习和数据挖掘的模块.当然,这不