Delphi 2006新增特性解析(1)

发表于:2007-06-11来源:作者:点击数: 标签:
一直以来, Borland 公司与其它软件供应商之间明显区别的地方在于其注重实用的方式-为今天的 开发 人员提供最恰当的极具竞争性的开发工具,而同时引导他们了解未来即将使用的新技术,并使其坚信自己的开发投资会保证会在未来的相关性,可适应性和可扩展性方

一直以来,Borland公司与其它软件供应商之间明显区别的地方在于其注重实用的方式-为今天的开发人员提供最恰当的极具竞争性的开发工具,而同时引导他们了解未来即将使用的新技术,并使其坚信自己的开发投资会保证会在未来的相关性,可适应性和可扩展性方面立于不败之地。

本文从一个Delphi开发者角度,对这个最新发行的产品作全面的入门性介绍。其中涉及到横跨Delphi,C++和C#等语言的一些特性,但只专注于介绍Delphi的开发能力。

Delphi 2006是Delphi的第十个版本,是Borland的旗舰快速应用程序开发(RAD)环境,并且秉承了Delphi的RAD传统而为软件开发者在许多方面作出了重大扩展。

一、 新特性

现在,Delphi 2006被认为是Borland Developer Studio(BDS)产品集合的一部分;整个产品包括Delphi 2006,C++Builder 2006和C#Builder 2006(独立销售),而且每个部分仅因版本(专业版,企业版和架构版)的不同而对另外其它语言提供不同程度的支持能力。在此,我们想集中探讨Delphi 2006架构版本所提供的能力。由图1可以看出,整套产品共有四个不同的语言"个性"。



图1:Delphi 2006的"个性"

(一) 个性

由于许多组织已经在运行大量的各种的软件应用程序和软件服务,所以他们常常更注重于完美的业务功能,重用现有的、书写良好的和已经被证实可用的系统,而不是仅为了使用最新技术而进行"割裂和替换"——只有极少数的公司能够承担这样的冒险。而这正是Delphi 2006的优势之一,由图2所示,作为一种不同工程类型的混合,它可以经常地被应用于一种多方面构成的商业系统开发当中。



图2:Delphi 2006工程组的灵活性


正如你在图2中所见,我们有一组包含某种设备(例如生产,银行设备或数据馈送)的接口的Win32 C++ DLL,我们也有一个Delphi Win32应用程序——在此是一个多层的数据快照程序;它能够实现与C++ DLL的接口并把信息持续到一种数据库;然后实现Web存取,由一个C#的ASP.NET工程完成这一系列功能。作为一组软件工程,所有这些工程能够用单个的Delphi 2006工程组进行开发和管理。

这使得Delphi 2006开发者能够灵活地利用各种类型的开发机会。如下面图3所示,你可以看到其中所提供的相当宽的范围。



图3:Delphi 2006架构



在Delphi 2006中引入了许多针对不同层次的新特征,从高级的应用程序生命周期管理(ALM)到低级别的编码增强。在这个新版本中,Borland还对性能和响应性表示出特别的关注,这可以由IDE所提供的一种更新版的内存管理器来帮助支持和增强。我将在后面详细讲述这些新特征。而且,IDE的启动速度也有一定改善,通过选择仅安装某种语言可以进一步缩短启动时间。事实上,这只是一个简单的命令行"-p"参数的使用。例如"-p DelphiDotNet"只装载Delphi.NET部分,而且这样的快捷方式可以被添加到"开始"菜单中作为BDS安装相应语言的一部分。

(二) 提高开发效率

一些新特征非常有趣,简直为开发者提供了分钟级上的优势来改进其编码水平。这也是Delphi 2006所不可少的一部分。这些新特征包括:

1. 块完成

如果你仅了解IDE能够为你输入的"begin"和"end"。那么,这一功能可能加速你的编码。

2. 改变栏

如图4所示,这种特征准确即时地指示已经保存了哪几行代码以及自从上次你保存文件以来你已经插入或改变了哪几行。



图4:沿着左边的改变栏中,你可以清晰地看到自从上次保存以来作了哪些改变。


3. 重构

如果仅想改进其设计而不是改变其行为,那么重构提供了一种方式,使我们能够自动地改变源代码。Delphi 2006在引入Delphi 2005重构引擎的基础上,又加入了一些新的重构特征,例如引入变量,引入字段,内联变量,安全删除,我最喜欢的一项功能是改变参数(如图5所示)。为了加入新的可用的重构功能,你可以从模型视图中使用Together重构。



图5:Delphi 2006中新的"Change Parameters"重构


4. 实时模板

Delphi 2006的一项新增功能是,新的上下文敏感和动态的实时模板。这会在一段时间内成为Delphi以前所使用的Code Snippets和Code Templates的一个极有价值的替代(顺便说一下,ctrl+J组合键还可以用于即时地激活实时模板。)。随着各种常用模板的使用,开发者还可以自由地复制,扩展、改变或添加你自己的新模板。每个模板都以XML文件格式存储在objrepos\code_templates文件夹下,而且针对每个语言类型都有一个相应的子文件夹。模板或者被自动地完成,或被经由CodeInsights机制从代码编辑器中提供给开发者,见于图6。



图6:实时的模板选择


模板可以自动帮助开发者整理代码结构。从图7中看到各种"for"循环模板是如何提供的。



图7:实时的模板能够实现不仅仅是插入代码的功能


一旦你选择了一个模板,那么它不会停下来仅把相应代码输入到代码编辑器中,而这正是"实时"之所在。在一个模板的执行期间,"stop points"提供给开发者机会(诸如上下文重构操作以及其它基于该模板xml代码中的子脚本的活动内容)来与模板一起工作以影响模板执行结果。


共4页: 1 [2] [3] [4] 下一页

原文转自:http://www.ltesting.net

...