科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件全面剖析Delphi 2006新增特性

全面剖析Delphi 2006新增特性

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

本文从一个Delphi开发者角度,对这个最新发行的产品作全面的入门性介绍。

作者:朱先忠编译 来源:天极开发 2007年10月31日

关键字:

  • 评论
  • 分享微博
  • 分享邮件
(七) 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框架就能够在运行时刻执行你的状态机而不需要任何编码。以前在开发和维护期间曾经相当耗时且容易出错的任务现在变得非常直观而且更有效率。

  2. ASP.NET Autoforms

  当构建一个ASP.NET前端应用程序时,ECO能动态地生成web页面以允许你与域模型进行交互。你可以在图17中看到一个具有Autoforms的ASP.NET应用程序的示例。


图17:一个动态生成的ASP.NET UI的快速原型

  这允许你流畅地使用模型定义的应用程序并在校验变化之间移动;如果有必要,可以返回进一步修改模型。这种反复的方式具有不可思议的生产能力,但是,如果在测试模型的变化之前需要定义UI元素的话,是很难成功的。

  3. ECO Action语言

  为了在模型中而不是在代码中继续表示更多的应用程序逻辑,ECO III引入了ECO Action语言。这是对OCL的一个扩展,允许你不但可以定义自己模型中的方法实现,而且可以从你的模型中激活其它方法。这甚至会减少在构建复杂的应用程序时手工编码的需求。

  4. 域模式

  通过进一步把Together深度集成到BDS 2006中,现在你可以定义普通的域模式,(其实就是通常发生的业务对象的集合)并把它们存储到一个中央仓库中。这样以来,你的所有团队就可以一致地利用你在解决业务问题上定义的集合。

  5. ECO无处不在

  既然Borland首先在C#Builder的第一个版本中使用了ECO,那么开发者可能已经发现这会帮助他们大大提高开发效率并带来构建应用程序的愉快感。记住,现在所有的Delphi开发者都可以体验一下ECO,并且最终,ECO被包含到Delphi 2006的所有版本中。

  Delphi 2006专业版用户将能够构建基于Winform的ECO应用程序并且把他们的数据持续化到XML文件中。另外,企业版开发者还可以使用ASP.NET来把他们的ECO应用程序扩展到Web上,并且把其对象持续化到关系数据库,例如Interbase,SQL Server,Oracle甚至更多。最后,Delphi 2006架构开发者还可以得到状态机支持,以用于跨多个服务器来发布他们的服务器端应用程序所需要的同步特性。

  (八) 团队生产力

  在Delphi 2005中,Borland引入了业界领先的活动集成,这些活动包括,配置管理,错误追踪,特征变更请求和团队讨论等。这些活动处于每一个高效的软件开发团队的核心位置,不管这些开发团队是处于不同的工作室,还是不同楼层甚至是在不同的国家。

  Delphi 2006继续支持并通过增强现有能力和把它们扩展到新的领域如需求管理等方面来简化团队开发。

  1. 需求

  需求就是你的客户的呼声。这是他们期望在你正构建的软件中所看到的事情。因此,参与该工程的所有人员是否都能听到你的客户的呼声对于工程的成功至关重要。

  如果你能打开一些源码并且,除了开发者注释之外,你还能看到代码正在试图完成的准确的客户要求,以及由在该团队中的其他人进行的所有讨论和注释,那么你就可以得到作出更佳决策的更好的参考。


图18:Delphi 2006提供充分集成的需求管理

  由于以上原因,BDS 2006引入了对于存储在CaliberRM中的需求的深入存取的集成,正如你在图18中所见。然而,这远不只是一个对于静态的,只读视图的需求的问题。开发者应该能够全面地加入到新业务需求的开发过程中:你可以编辑现有需求,创建新需求,加入有关需求的在线讨论,甚至使用鼠标拖放来创建在需求和源码资产之间的跟踪。

  2. 变更和配置管理

  在Delphi的上一个版本已经支持集成变更和配置管理的同时,正如你在图19中所见,Delphi 2006进一步推进了这一支持。


图19:其中包含了变更管理集成和服务器软件。

  很多情况下,需要在工作的同时跟踪仓库中的多个项目。你可以建立同一个问题的两个错误报告,还有一个你作为其中之一参予讨论项目的线程。在Delhi 2006中,Shortcuts窗口允许你在IDE中显示一个锁定的格子以允许通过点击来存取与你的当前工作相关的所有项目。

  你还会看到一个Pending Checkins窗口,它允许你粗略地查看自己正在工作的却尚未通过检查而被纳入到仓库中的项目。同样,该Pending Checkouts格子还允许你观看你还未从仓库中取出却已经由其它开发者所做出的变更。这两种新视图的结合极大地简化了对你和其他团队成员所做出的变更的跟踪问题。

  二、总结

  随着Delphi的第十个版本的上市,Borland继续专注于两个主要领域,软件提交生产方面的更新;为应用程序生命周期管理提供扩展支持。提供在Windows上混合应用主流语言和平台这种注重实效的方式,以及能够在Win32和.NET之间实现迁移和互操作性使得Borland Delphi(Borland Developer Studio)成为商业开发者的一种非常灵活的选择。

  尽管许多开发者继续使用着.NET平台,但是仍然有许多组织继续需要支持开发Win32软件,或者从头开发或与.NET相结合。为此,Delphi 2006为开发者提供了最有效的管理方式。

  Borland连续几年来一直提供可扩展的应用程序生命周期支持,事实上,Delphi开发者早在2003年的Delphi 7中就已经体验到这一点。对于以开发者为中心的应用程序生命周期管理(ALM)的支持如今在这个新版本中进一步成熟起来,这使得开发团队能够选择基于开放标准和基础来使用ALM,而不是被强迫使用任何特别的过程。这使开发者能够有选择地深入到后端企业开发服务中,而同时能够以最适合其自身的风格和他们的顾客或用户的方式来开展工作。

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章