执行.此外,
Java中的类远比MFC(Microsoft Foundation Class)的类更容易使用,由于不使用指针,极大地提高了开发人员的生产力.到了2000年6月,微软 宣布正在开发一项新技术,其中包含一种名为C#的新语言.2002年2月13日,微软正式发布了.NET的 第一个可用版本.这个事件在微软的历史上有决定性的意义,同时也对整个软件开发界产生了深远的 影响. 在所有参与此项目的工程师中, 我们要特别提到Anders Hejlsberg, 他原是Borland公司的创始人之一. 这个丹麦籍的工程师曾经设计了Turbo Pascal和
Delphi语言,他于1996年加盟微软并参与开发了WFC,这 是一个用于微软Java虚拟机的类库.很快,他就开始参与
设计今天为人们所熟知的CLR和C#语言. .NET的1.1版于2003年3月发布.这个版本包含了更多关于数据提供
程序(Oracle和ODBC) ,安全 性(密码学) ,IPv6技术以及XML/XSLT技术的类..NET 1.1还包含了用于开发基于Windows CE(用于 Pocket PC,智能电话等)的应用程序的工具.而且.NET Framework 1.1版还包括J#语言,旨在帮助Java 开发人员过渡到.NET.
1.2.2 现在
2005年底,微软发布了.NET的2.0版本,这就是本书的主题.在这个版本里,基类型的数量翻了
第 1 章 .NET 简介
3
一番,覆盖了许多.NET 1.x忽略的方面.无论从应用程序的执行还是编程语言的支持来看,虚拟机都 得到了增强和优化.附录B列举了所有本书涉及的新增功能. 开发工具,包括最重要的Visual Studio,变得更复杂但是更加人性化了.现今普遍认为工具的质 量在软件开发平台的评估中占重要地位
. 同样,我们看到两种来自其他开发平台的软件开发思想开始出现在.NET中,它们就是极限编程 (eXtreme Programming,XP)和基于模型的开发. XP致力于协调所有参与方的活动, 以求用更合理的方法建立一个信息系统. 其想法就是有效地面 对软件开发过程中不可避免的未预期变更.为了达到这样的目的,我们有时采用一种敏捷(agile)开 发方法.这里的敏捷性来自于一定的约束条件.开发时首先需要经常并定期地向客户提供可测试的版 本,并听取客户的意见.还应当使用各种灵活的工具促进开发团队的成员交流和共享信息,这些工具 每一种都具有特定的功能.XP的中心是人.还有一些其他的原则也十分重要,比如要求定期运行一组 自动测试来尽早发现回归和bug.这样一组测试一般是在整个应用程序最近资源的一次完整的编译之 后执行. "每日构建 (daily build) 这个概念暗示这样的编译每天应该进行一次, " 一般应该在夜间进行. 所有这些想法都能够很容易实现,这归功于Visual Studio 2005的新的Team System组件. 基于模型的开发则致力于从模型自动生成应用程序的代码.这种模型是用一种高级的语言来表达 的,特别适用于应用程序所需的功能,所以表达能力很强.这里说的语言称作DSL(Domain Specific Language) .基于模型开发的好处是能让团队依据规范进行源代码开发,减少求精周期的次数,也降 低了代码的复杂性.Visual Studio 2005提供了专用于DSL概念和应用的扩展.这些扩展允许用类似于 UML的图来表示C#或VB.
NET源代码.
1.2.3 未来
微软在2006年发布了Windows Vista.这给.NET平台带来前所未有的决定性变化,.NET执行环境 成为操作
系统的一部分.Windows Vista提供了很多新的.NET类型,允许从.NET代码直接访问操作系 统的功能.它们被总称为.NET 3.0.其中我们应该提一下新的图形应用程序框架,称作WPF(Windows Presentation Framework) 还 有 新 的 分 布 式 应 用 程 序 框 架 , 称 作 WCF( Windows Communication , Framework) ,后者将在24.11节简要介绍①. 2007年年底也可能在2008年,微软会推出Visual Studio 2008(代号为Orcas) .这个版本将主要集 中在Visual Studio和.NET Framework与Windows Vista所引入的技术的高度集成上.3.0版本编程语言的 工作重点是建立一