程序员的 .NET 时代
李洪根
(本文首发于《CSDN开发高手》 2003 年第1 2 期)
技术总是在不断发展,微软 .NET 平台经历了三年时间的历程,已经被广大开发人员所接受。我们利用 Visual Studio.NET ,可以快速、高效地进行 Windows Form 和 Web Form 的应用开发。 .NET 是一个全新的概念 , .NET 代表了一个集合、一个环境、一个编程的基本结构,作为一个平台来支持下一代的互联网,因为我们相信世界不会倒退到集中计算的主机模式下。在 XML Web Service 技术逐渐成熟的时候,软件可被当作一种服务,支持新的设备,这些设备包括 PC 、移动电话、 PDA 、车载系统和机顶盒等,实现 相关设备协同工作, 给用户带来全新的体验,微软 演绎着一场新的互联网革命。 作为 .NET 开发人员,我们应该会对未来充满信心。
程序员是这场互联网革命的推动者,我们大家都在不断的学习技术、充实自我,以适应未来的变化 ( 在这里我不想进行 .NET 和 JAVA 的比较,因为这两个领域的技术各有所长,而且涵盖的范围都相当广,单纯进行语言的比较是没有意义的 ) 。微软用 .NET 为未来十年做了准备,所以当务之急,必须掌握 .NET 开发工具这个利器,来构建我们的应用。其实 .NET 入门也是比较容易的,一般来说,基本掌握 .NET 程序设计三个月就够了,半年以后,你就会成为一个合格的 .NET 程序员。如果想成为 .NET 领域的高手,那就得在这个领域积累非常丰富的经验。
.NET 是这十年中比较流行的开发工具。我用 .NET 开发已有两年多时间了,现将我的学习经验和方法和大家分享。系统地学习 .NET 需要一个循序渐进的过程,我们分为入门级和提升级。如果你是入门者,下面的每个学习阶段都是很重要的。假若你对 .NET 比较了解,可以选择你的需要的知识进行学习。
** 入门篇 **
** 1. ** ** 学习面向对象 ** ** (OOP) ** ** 的编程思想 ** ** **
许多高级语言都是面向对象的编程, .NET 也不例外。如果您第一次接触面向对象的编程,就必须理解类、对象、字段、属性、方法和事件、封装、继承和多态性、重载、重写等概念。需要说明的是,微软的产品帮助文档做得非常完善,而且查询相当方便, 入门者不得不看 。安装完 Visual Studio.NET2003( 或者 Visual Studio.NET 2002) 后,在“程序”组里有一个 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 下非常容易就实现,许多情况下只需要一句话就足够了。所以,我们在程序设计的时候要尽量避免调用 Win32 API 。学习 .NET 框架类库的捷径:掌握常用的类库,其它不常用的类库只需要了解,用到的时候查阅即可。
** 4. ** ** 利用 ** ** Visual Studio.NET ** ** 写程序 ** ** **
在 .NET 平台下写程序我们一般用微软的开发工具 Visual Studio.NET ,因为一个好的 IDE ,能极大地提高开发效率。我建议初学者从 Windows Forms 或者是 Web Form 开始,等有一定的基础之后,再转向写类库或是控件、组件方面的东西。微软的帮助文档里自带许多示例,我们可以一边看帮助,一边进行演练。在学习其中的代码的同时,一定要理解和思考。多写代码、从项目中锻炼是编程高手的成长之路。记住:一定要多看多写源代码;多上论坛(如 CSDN 和 Dev-club )和微软的新闻组讨论技术问题。
我们一定要用好 Visual Studio.NET 这个集成开发环境,除了编写代码外,我们还要了解 .NET 的部署原理,学习打包、部署及管理应用程序。多人开发的项目可以考虑用 Visual Source Safe 进行源代码管理,这一系列开发工具的使用都要有大量的实践。
** 推荐书籍: ** ** **
《 C# 高级编程 》 (第二版) ( 清华大学出版社 )
《 Microsoft.NET 程序设计技术内幕 》 ( 清华大学出版社 )
《 Visual VB.NET 技术内幕 》 ( 清华大学出版社 )
《 Visual C#.NET 技术内幕 》 ( 清华大学出版社 )
** .NET ** ** 入门教程(包括 ** ** Windows Form ** ** 和 ** ** Web Form ** ** ): ** ** **
http://chs.gotdotnet.com/quickstart
** 5. ** ** 最好掌握大型数据库编程 ** ** **
一般来讲,大多数软件开发都涉及到数据库。大部分软件的后台数据库都使用如 Access 、 SQL SERVER 、 Oracle 等。 ADO.NET 提供了对关系数据、 XML 和应用程序数据的访问。我们必须掌握 Connection 、 Command 、 DataReader 和 DataAdapter 对象的使用,正确运用 DataSet 数据集和 DataView 进行数据操作。当然,要有一定的数据库基础,包括表、视图、存储过程等的使用。必须把后台数据库和前台的 ADO.NET 都掌握好,才能真正精通数据库编程。
在项目的开发中,建议使用数据访问应用程序块( Data Access Application Block )来简化 SQL 查询。微软 msdn 网站有下载,我们可以利用 SqlHelper 类进行的数据访问,使用起来非常简单,很容易地构建我们的数据访问层。参考微软 MSDN 文档:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnbda/html/daab-rm.asp
** 推荐书籍: ** ** **
《 ADO.NET 技术内幕》 ( 清华大学出版社 )
《 ADO.NET 高级编程》 ( 中国电力出版社 )
《 VB.NET 和 SQL Server 2000 高级编程—创建高效数据层》 ( 清华大学出版社 )
** 6. ** ** 学习 ** ** XML WEB Service **
XML Web services 正在开创一个分布式应用程序开发的新时代。 XML Web Services 是把软件当成服务的一种体现,通过使用 XML 消息处理启用数据交换和应用程序逻辑远程调用。 XML 使数据能够通过防火墙,实现异类系统之间移动数据。虽然公共的 Web Services 还不是很普及,但是在一些企业中,已经涉及到了 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 权威站点:
微软官方 ASP.NET 站点:
微软官方 Windows Form 站点:
微软官方 Dot NET 站点:
英文站点 Code project :