精品主页 | 软件下载 | 系统下载 | 精品导航| 精彩图片 | 转帖工具 | 版主申请 | 影视下载
发新话题
打印

全面剖析Delphi 2006新增特性

全面剖析Delphi 2006新增特性

  


                    一直以来,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代码中的子脚本的活动内容)来与模板一起工作以影响模板执行结果。



  (三) 包围



  现在,当你选择一块代码时,你可以右击鼠标并从加速菜单中选择"surround"选项。这将为你提供如图8所示的一些选项。所以,现在你可以快速地添加你的代码所包括的条件和循环结构。

















图8:Surround选项

  (四) 调试器



  Delphi小组在调试器设计上做出了伟大的贡献,他们所实现的直观性能够使开发者无论在哪个环节上都是快速而容易地实现特定功能。调试功能的改进包括提供可扩充的视图和使更多的信息出现在调试检查的每一级上。正如你从图9中所见,有多种方式来使用可展开的信息,如内嵌的可展开的工具提示,可展开的局部变量和观察窗。这样就提供了最方便的方式来直接观察程序员所关心点的数据值。

















图9:调试过程中内嵌的可展开的工具提示,局部变量和观察窗

  另外一些新的显著的调试特征包括,对于可用的CUP细节视图上的改进,这样以来,你就可以选择多项并把它们复制到剪贴板中。另外,现在的远程调试也可用于本机Win32应用程序,托管应用程序和ASP.NET应用程序方面。




  


                  


 (五) 数据库



  持续性是几乎所有的商业软件开发的一个极为重要的部分,Delphi 2006继续改进对于Borland开发者所喜爱的主流企业数据库服务器的支持。另外,还提供给开发者一种一致的完全功能的,然而却是本地的对于不同数据库的存取。



  对于Win32开发者来说,增加了一项他们所喜欢的功能:dbExpress现在被完整地集成到数据库资源管理器中。



  从.NET角度来看,完整的连接池功能被添加到Borland Data Providers(BDP),这大大提高了应用程序性能,特别是那些服务于来自于多个客户端,例如ASP.NET Web应用程序,的许多请求的应用程序。现在你可以使用连接池来减少连接时间,这可以使用一个现有的池中的连接来实现。从图10中你可以看出,在"Connections Editor"对话框中出现可用的数据库连接池选项。

















图10:在连接编辑器中的BDP连接池选项


  


                  


  (六) Delphi中的Together



  Delphi 2006最激动人心的新增功能之一是,它包含了一种完全符合标准的UML 1.5和UML 2.0 Together建模能力。这一功能的优点是它可适用于所有的开发者。



  随着核心Together引擎被重新编写以确保无缝集成的响应性能,LiveSource能够对现有代码提供一种刷新视图,并且能够使你观察和改变该视图中的代码以及通过改变设计来创建代码。我们感兴趣的几个方面有:图类型,设计模式,审计,标准与文档生成。随着Together的集成还出现一些新内容,例如很好地提供代码编辑器重构功能的模型重构。



  图11显示了一段代码及其相应描述,该代码已经准备好从模型视图中进行改变和调整。随着你改变图形,代码也随着改变;而随着你改变代码,该图形重构该代码。

















图11:工作中的LiveSource

  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开发的更啾尘爸

TOP

发新话题