Delphi 2006新增特性解析
作者:未知 文章来源:
网络 点击数: 更新时间:2007-5-1
1. 图类型
在Delphi 2005中对于UML图类型的支持也被一步增强,现在可用的一些图和结构有:类图,用例图,序列图,协作图,状态表图,活动图,组件图,发布图,类,接口,结构,枚举,代理,命名空间,对象,约束和结点。图12中显示了你现在可以在"Add New Diagram"对话框中使用的UML图类型。

图12:Delphi 2006 UML图类型
2. 设计模式
通过多年的使用强面向对象的语言和基于组件的开发,Delphi开发者经常能够达到最高层次的重用目标。由于系统中包括了一个已装配有最常用的工业设计模式的设计模式仓库,所以重用级别可以被进一步扩展,例如显示于图13中的Iterator模式。这种强有力的工具的一个关键之处在于,开发者还可以把组织存储起来并且共享来自你自己开发的模型或共享从逆向工程所获取的代码的设计模式。当把这种新工具通过XMI以及MDL应用于输入和输出时,你甚至可以共享来自于其它工具,语言或甚至其它平台的设计,例如Java。

图13:来自设计模式仓库中的Iterator模式
3. 质量保证工具
Delphi 2006提供了新的能力来使开发者能够提供有关代码质量方面的信息。Delphi 2006可以用两种方式来公开地帮助你实现质量保证,审计和标准化。
这些功能或者可以用来证明作为移交的一部分的软件的质量,也因此一同帮助开发者遵从特定的编码标准;或者用于在工程中提高对质量进度的检查。
审计工具用于检查代码符合特定的规则集合。你所用的规则是可配置的,而且配置是可以被存储和重用的。你也可以把一个审计的结果保存到XML或者HTML格式的文件中。有大量的审计工具可供你使用,从设计问题到命名约定,等等。这些工具的使用,可以给开发者提供有关每一种审计所寻找内容的描述和如何修改可能发生的破坏。
为了保证质量,标准提供了一定量的信息并且将能够建立更好的信息决策分析。在代码上运行标准能够提供给有关某部分代码的复杂程度的详细信息并且能立即高亮显示可能导致设计问题的代码;另外,还可以提供关于怎样使用标准和怎样解释该结果的提示信息。最终,该标准的结果以一个表格形式输送到一个集成的窗口中,图14显示了一个Kiviat图表视图,这是一种图表方式,Delphi 2006可以帮助你验明自己的代码或理解与他人协作的代码。

图14:Kiviat图表提供即时的标准分析结果的"瞬间"信息
4. 文档生成
在模型视图中,开发人员可以自动生成全面的基于HTML的文档。当然,也可以配置你希望应用的范围,而且你能够选择你想包括的文档部分,例如图表本身和一个基于applet的导航树。
这种能力把团队从许多方面解放出来。例如,以前他们必须手工书写文档并根据变更加以维护;而通过使用文档自动生成技术会使得,随着工程的不断进展而使开发者更容易专注于创建实际的代码。这种技术的另一种用途在于,在可能由其它开发者编写的系统上或在已经被实现而没有全面支持文档的代码上运行文档。你可以在图15中看到一个生成的文档集合。

图15:根据要求使用文档生成器完成的最新的文档。
(七) ECO III-模型驱动开发
企业核心对象(ECO),Borland的模型驱动框架被首先引入到C#Builder 1中,随后在Delphi 2005中使用了ECO II。从此以后,ECO在开发生产效率和传送应用程序质量方面一直在作出巨大的改进。
ECO能够大大提高软件开发效率,因为它可以自动生成绝大多数应用程序需要实现的架构,以及使用任何其它建模方案都需要手工实现的代码。实现这些功能的途径是,在运行时刻查询模型信息,然后使用该信息自动执行服务,例如把对象持续化到数据库中,强制业务约束和在运行时刻不要求开发者实现任何其它代码,在设计时结合高度集成的Together创建模型,并使用如ECO那样的运行时框架使该模型最终达到以最快的方式来构建和维护.NET应用程序。
有关普通ECO开发的更多背景知识,请参考Borland站点上的相应资料。在此,我们集中讨论Delphi 2006所提供的其它功能以及Borland Deliver ECO III所提供的特征,例如状态机支持,ASP.NET AutoForms和域模式。
1. 状态机
在ECO III中的一个主要的新特点是,增加了状态机支持,它允许你用模型来表达你的应用程序的更多的行为。反过来,ECO能在运行时刻查询这个信息并且自动生成比以前更多的你的应用程序架构。

图16:ECO将自动地执行状态图
如图16所示,Delphi 2006使用集成的Together UML设计器来创建状态图。你可以设计一个对象的不同状态,并且通过使用OCL(对象约束语言)来定义Guard条件,这基本上就是一种规则——在对象能够从一种状态转变为另一种状态前其值必须为真。你也可以定义Effects,这是一种行为——当一个对象从一种状态转变为另一种状态时必须发生。
一旦定义了这些,就能自动强制Guard条件和执行Effects,ECO框架就能够在运行时刻执行你的状态机而不需要任何编码。以前在开发和维护期间曾经相当耗时且容易出错的任务现在变得非常直观而且更有效率。
相关文章