摘要载入中…    请稍等…












内容载入中…    请稍等…

如长时间看不到内容,请关闭浏览器,重新打开此页!

芯友首页 应用软件 编程开发 网络硬件 资源下载 动漫音乐 精美图库 芯友论坛 视频教程 电脑技术QQ群:72845454
 ★★photoshop学友-史上最强播放器★★
 位置:编程开发>Deiphi>Deiphi实例教程
◎→ 本类最新
在DELPHI中用线程排序
在Delphi中使用Queued Component
作非常规程序菜单掌握delphi
执行一个外部程序并等待它的完成
在应用程序中跟踪MOUSE的坐标
五子棋源代码
显示密码的原理
◎→相关资源
C语言入门视频教程
C#编程WinForm入门视频
Asp.net入门视频教程下载
VC++编程视频教程下载
VB窗体文章
HTML入门教程
Deiphi实例教程
Deiphi窗体文章
Deiphi数据库编程
Deiphi网络编程
Deiphi图形图象文章
Deiphi系统文件
◎→ 热门资源
使用Delphi轻松控制IE窗口
Delphi托盘编程实战演练(2)
Delphi托盘编程实战演练(1)
用Delphi设置墙纸
制作Delphi的竖排标签
Borland 推出 Borland Delphi 20
用Delphi实现自定义颜色对话框及

图解Delphi 8 Eco 开发实战


日期:2008-10-20 22:11:52    来源:
   
 ·图解Delphi 8 Eco 开发实战(3) ·使用Delphi轻松控制IE窗口
 ·图解Delphi 8 Eco 开发实战(2)
图解Delphi 8 Eco 开发实战
  如何降低软件开发维护成本、提高开发效率、减小需求变更对系统的影响以及延长系统的生命周期是每个软件开发者都在思索的问题。然而传统的开发途径中上面的问题总是很难完美的解决。 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生成的新工程包含以下几个文件:



  2. 需求分析

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


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

  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 注释链接


  首先我们将一个Class拖放到设计器中,将其命名为Customer,再点击右键选择 Add →Attribute为其添加一个属性,并设置该属性的名称为"Name"类型为String。在属性的类型设置中,你可以输入Delphi支持的类型。同过设置Alias属性还可以在模型中显示中文别名,方便我们进行建模。Class常用的属性如下:



  根据我们在上面需求中所分析出的四个类在编辑器中创建,因为Person和Company都是继承自Customer,所以仅仅描述其不同于Customer的属性即可。完成后设计器内容如图所示:


  完成上述工作后,我们开始对模型间的关联关系进行设计,首先来完成Customer的继承关系。选择Tool Palette中的Generalization/Implementation组件,点击Person模型后拖曳到Customer模型去,这样就建立好了两者间的继承关系,同样建立Company与Customer的继承关系。


  然后开始建立Customer和CarSell之间的主子对应关系,选择Tool Palette中的Association组件,点击CarSell模型后拖曳到Customer模型去,即生成了一个Association。点击选中Association后设置它的属性,修改其name为PayAssociation,End1的 Multiplicity为0..*;End2的Multiplicity为1。Multiplicity属性用于控制模型间的连接关系,其可选属性的含义为:


  同理为CarSell和Car建立关联关系,建立完成后的模型图如下:


  到此为止我们的建模工作已经完成,在此之后我们还需要把对象保存发布到数据库中,这就用到了Eco所提供到的PersistenceMapper组件。在Delphi 8 中Eco一共提供了13个组件,它们分别是:


编号 组件名 命名空间 功能 1 CurrencyManagerHandle Borland.Eco.Handles 用来操作当前游标所在的对象实体 2 ExpressionHandle Borland.Eco.Handles 可以将其简单理解为一个数据源组件(TDataset),数据源通过SQL语句向数据库查询记录,而ExpressionHandle更为灵活可控的OCL语句查询对象实例 3 OclPSHandle Borland.Eco.Handles 根据OCL表达式得到元素值,其主要方法为Execute 4 OclVariables Borland.Eco.Handles
定义在OCL中所使用的变量 5 ReferenceHandle Borland.Eco.Handles 建立一个数据库连接,在使用中相当于dbConnection 6 VariableHandle Borland.Eco.Handles 通常和OclVariables一起使用 7 PersistenceMapperBdp Borland.Eco.Persistence 将对象模型通过BdpConnection.进行发布 8 PersistenceMapperXML Borland.Eco.Persistence 将对象模型通过Xml格式.进行发布. 9 PersistenceMapperSqlServer Borland.Eco.Persistence 将对象模型通过SqlServer.进行发布 10 EcoAutoFormExtender Bor  [1]

图解Photoshop内置滤镜5:渲染-2

Delphi托盘编程实战演练(2)

三维全息显示技术开发成功

--->超级缩霸 V1.00┊中国人开发的功能强大压缩、解压缩软件┊简体中文绿色特别版
--->GMailStore(突破GMail上传10M限制) V3.0.4┊利用GMAIL邮箱开发的中文网络邮盘┊简体中文绿色特别版
--->ChinaFTP V5.0 Build07.03.10┊国人开发的FTP客户端软件┊简体中文绿色免费版
--->MIS报表开发平台 V2.55
--->MIS报表开发平台 V2.55
Tags:  图解 Delphi 开发

芯友网版权所有 1999-2006 | 著作权与商标声明 | 法律声明 | 服务条款 | 隐私声明 | 联系我们