delphi中数据集对象化的设计和实现

delphi中数据集对象化的设计和实现

ID:10762317

大小:33.00 KB

页数:10页

时间:2018-07-08

delphi中数据集对象化的设计和实现_第1页
delphi中数据集对象化的设计和实现_第2页
delphi中数据集对象化的设计和实现_第3页
delphi中数据集对象化的设计和实现_第4页
delphi中数据集对象化的设计和实现_第5页
资源描述:

《delphi中数据集对象化的设计和实现》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Delphi中数据集对象化的设计和实现第20606第6肯期年月计算机技术与发展COMPLrrERTECHN0L(XYANDDEVEl1)PMENrV【,1.i6N

2、j.6JiJn.2C06Delphi中数据集对象化的设计和实现雷梦龙(武汉理工大学计算机学院,湖北武汉430070)摘要:提出一种在Delphi环境下实现数据集(DataSet)对象化访问的简单有效的方案.该方案中,应用了代理设计模式设计了一个对TDataSet类的代理.在代理内部,经由RTTI获得了客户端正在访问的属性名字后,返回TDataSet对象中相应属性的值;同时运用Foreach模式,提

3、供了对TDataSet的数据记录的顺序访问的接1:3.实践证明,它很好地实现了在Delphi环境下对数据集的对象化访问.关键词:Delphi;运行时类型标识;Proxy模式;Iterator模式中图分类号:TP311文献标识码:A文章编号:1673—629X(2006)06—0157—03DesignandImplementationof0bject'_'OrientedManipulationofDatasetinDelphiLEIMeng—long(ComputerScienceSchool,WuhanUniversityofTechnology,Wuh

4、an430070,China)Abstract:TheessayproposedasimpleandeffectsolutionwhichcarImanipulatedatarecord3etinanobject—orientedwayinDelphi.Inthesolution.implementaproxytoTDetsSetclass,whichCR13getthevalUeoffieldtheclientsaccessingthroughthepropertyr~-nebyusing肌I.Alsoprovidetheinterfaceofiterat

5、ionabilitythroughusingiteratorpattern.Asshowninthepractise.thissolutionhasbeenprovedthatcanbeverysuitableforasimplewaytotheproblem.Keywords:Delphi;RTTI;proxydesignpattern;iter8t0rdesignpattern0引言当人们从面向对象的观点来操作关系数据库时,总是面临着这样一个矛盾:关系数据库是以关系代数为基础来进行数据存储的,如何以面向对象的观点来操作它呢?解决方案有对象数据库,O/RM

6、apping等方案.但是对于中小型的应用程序来说,这些方案显然不太适合.RTTI(RunTimeTypeIdentification,运行时类型标识)是面向对象语言的必不可少的要素之一,对于提供程序的灵活性和简洁性提供了有力支持.Delphi作为一个流行的面向对象的语言,本身提供了对访问关系数据集的封装如TDataSet类等.但是TDataSet类还是没有提供和面向对象观点完全一致的操作方式.文中提出了运用Proxy模式和Iterator模式,以及Delphi强大的RTrI功能,实现对数据集简单对象化.这样就可避免程序员的精力分散到程序的细枝末节中,而使其集

7、中注意力到业务逻辑的实现和满足用户的需求上,以提高应用程序的可靠度.收稿日期:2005—10—16作者简介:雷梦龙(1978一),男,湖北松滋人.硕士研究生,研究方向为基于网络和数据库的计算软件.1方案原理建立一个代理封装TDataSet,对)ataSet的访问进行控制.要使用业务对象继承自代理类,并定义了pub.1ished的对象属性,包括业务对象的名字和数据类型.程序员在赢接使用业务对象访问对象的属性时,运用RTTI获知正在访问的属性名字,然后用传统的方法从数据集中获取数据,然后再返回给业务对象使用者.面向对象语言RTTI提供在程序运行期对象的类型信息…

8、.在一个类体系如VCL或MFC中,常常用更高层次的类的对象去代表不同的派生类的对象进行统一的处理,但是在同一处理过程中,有时需要区分具体的派生类来实现不同的处理.如何根据更高层次的类的对象句柄来区分具体的派生类呢?这就需要RTTI.进一步,RTTI能够提供类的方法定义信息.在各种类库和Framework中,都提供RTTI的支持.比如IVlFC中,在定义类时,只要引用了宏DEICARE一口JMCRE-ATE和IMPLIMENT—DYNMCREATE,将建立该类的类别信息.VCL提供了TYPINFO.PAS单元,只要从"FOB.JECT类继承的类可以获得类型信息

9、j.对代理模式(proxypattem)的应用使得对

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。