科技行者

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

知识库

知识库 安全导航

至顶网软件频道基础软件图解Delphi 8 Eco 开发实战

图解Delphi 8 Eco 开发实战

  • 扫一扫
    分享文章到微信

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

本文一步一步的讲述了在Delphi8中开发ECO完整流程。

作者:佚名 来源:天极网 2007年10月31日

关键字: 图解 Delphi 开发

  • 评论
  • 分享微博
  • 分享邮件
下载本文源代码

  如何降低软件开发维护成本、提高开发效率、减小需求变更对系统的影响以及延长系统的生命周期是每个软件开发者都在思索的问题。然而传统的开发途径中上面的问题总是很难完美的解决。 MDA(模型驱动架构,Model Driven Architecture)是由OMG组织提出的新的软件开发架构,他相对于传统的开发方式有了很大的变化,软件开发的驱动力不再来自于传统的概要设计、编码,而是由模型来驱动开发。使用MDA开发团队可以将时间和精力集中在应用的业务逻辑上,而不需要花费大量时间来设计架构。MDA不仅仅是一种开发架构,更主要的是一种方法、标准,它独立于系统平台和开发语言之外。各个软件供应商也都相继提供了MDA的解决方案,本文所讲的ECO(Enterprise Core Objects)就是其中之一。

  Borland在2004年初推出的Delphi 8 for Microsoft .NET Framework称得上是Delphi历史上最重要的一个版本,这个版本能否成功关系到Delphi能否在.net平台上再现win32平台上的辉煌。Delphi在win32平台上的成功很大程度上要归功于优秀的VCL架构。正是因为微软在Win32平台上没有提供完整易用的组件库,才使得VCL有如此蓬勃的发展。而在.NET平台上微软已经提供了完善成熟的Framework,Delphi8中虽然依旧包含VCL,但现在的VCL.NET已经不能完全和.NET Framework的Winform兼容了,而是为了方便Delphi的用户平滑过渡到. NET。失去VCL的优势对于Delphi来说也并非完全是件坏事,Borland会把更多的精力放在如何提高开发工具的生产力上。Borland在收购TogetherSoft、BoldSoft、Starbase等公司后,开始对所掌握的技术进行整合,ECO正是Bold基础上发展出的.NET平台MDA解决方案。它提供了封装有各种典型业务应用的底层应用服务,可以很好的完成各种系统开发和业务应用开发。Borland软件产品的副总裁,Boz Elloy认为,"ECO不但可以减少编写和维护的代码量,同样可以减少风险,支持更高的软件产品质量,我们相信ECO至少要比市场上的同类产品领先一年。"下面我们就实际体验一下MDA在Delphi中带给我们的惊喜。

  实战ECO开发

  下面我们要开发的是一个汽车销售客户管理系统,汽车销售商要管理客户的资料,客户中既有个人客户也有企业客户,两者的属性各有不同。汽车的型号资料和每辆汽车的销售记录同样也要管理。根据上面的简单需求来开始我们的ECO开发之旅。

  1. 使用ECO Application Wizard建立一个工程

  1) 打开Delphi 8 架构版在点击File →New →Other打开新建项目对话框。选择ECO Windows Application后点击OK


  2) 输入工程名称和路径后点击OK,ECO Application Wizard为我们创建了所需要的工程单元文件。(注意:因为Delphi 8 Eco中存在的一个BUG,在工程路径或工程名中存在全角字符会引起编译器编译是发生错误,这里必须保存在英文路径下)


  ECO Application Wizard生成的新工程包含以下几个文件:


文件名 描述
CoreClasses.pas 其中包含UML packages、 interfaces、 classes之间关联关系的源代码和在模型中定义的类型
EcoCRMEcoSpace.pas 由Borland.Eco.Handles.EcoSpace派生出的子类TEcoCRMEcoSpace的源代码
WinForm.pas 应用程序主窗体的源代码
Borland.Eco.Core.dll
Borland.Eco.Handles.dll
Borland.Eco.Interfaces.dll
Borland.Eco.Ocl.ParserCore.dll
Borland.Eco.Persistence.dll 这些文件是ECO applications运行时所需要的文件,存放在C:\Program Files\Common Files\Borland Shared\BDS\Shared Assemblies\2.0目录下

  2. 需求分析

  由上面所提供的需求我们可以提炼出以下几个类:

名称 描述
Customer 客户,包含属性有:Name(名字)、Phone(联系电话) Address(住址)
Person 个人客户,除了包括客户的属性外还有Sex(性别)属性
Company 公司客户,其具有Customer的全部属性
Car 汽车,包含的属性有ID(汽车编号) Name(汽车名称) CarType(汽车型号)
CarSell 汽车的销售记录,包含的属性有BuyDate(购车时间)Fee(价格)

  各个类之间的对应关系如下:

  Person和Company都是Customer的子类,它们都拥有Customer的属性。汽车的销售记录中包含所销售的车辆,CarSell和Car有一对一或一对多的对应关系,也就是一条销售记录可能对应多个车辆,同样客户和销售记录也有一对一或一对多的对应关系。

  3. 设计模型

  根据上面的分析结果我们可以开始从ECO中进行建模,首先选择模型视图,打开CoreClasses包,然后双击CoreClasses打开模型设计面板。


  Tool Palette 中的UML Class Diagram 中共包含6个组件他们分别是:

名称 描述
Eco Package 模型包,如果系统结构复杂可用其来进行分解以降低复杂度,CoreClasses包是ECO Application Wizard默认生成的包
Class
Generalization/Implementation 继承关系
Association 联合关系
Note 注释
Note Link 注释链接
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

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

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