|
盒子资源分类 |
![]() |
|
|
|
界面代码和功能代码分离示例 |
![]() |
关键字:界面代码 功能代码 分离 O-R Mapping 数据库封装 |
来 自:原创 |
平 台:Win2k/XP/NT,Win2003 |
下载所需:0 火柴 |
深浅度:高级 |
完成时间:2007/2/5 |
发布者:lanyaoshi |
发布时间:2007/2/7 |
编辑器:DELPHI7 |
语 种:简体中文 |
分 类:数据库 |
下载浏览:2751/15739 |
|
|
|
|
准备在一个项目中采用所谓的OO数据库开发方法,想实现界面代码和功能代码分离,本想找找现成的资料,但搜索了好久也没找到太多,也看了bold、InstantObjects(没细看,感觉太复杂,可能是水平还不够看懂),最后主要参考了:Nicrosoft(奈软)的《如何将界面代码和功能代码分离(基于Delphi/VCL)》,刘艺《面向对象编程思想》书中第8章“实现界面和业务的分离”,花了2个小时,完成了这个小示例: 1.数据操作界面:unit ufrmMain--数据的添加、修改、删除、查找,数据通过TListView显示;unit ufrmUser--数据进行添加、修改时用来显示单个数据。 2.数据定义类:unit clsUser单元中:TUser,此类的相关属性:ID、UserName、Sex、Age对应数据库中的表中的相应字段:ID、UserName、Sex、Age;方法ValidData用来进行数据的有效性检查。 3.数据操作类:clsUser_Operater单元中:TUser_Operater:通过ADO来操作ACCESS数据库data.mdb中的表User,生成、修改、删除数据。
代码写得比较匆忙,希望大家能指出其中的问题。我有几个不太确定的地方,希望大家一起来讨论: 1.采用动态数组来返回数据,效率如何呢?我没有进行过大数据量的测试,希望有经验的高手给个建议。 2.动态数组要释放吗?我用arrUser := nil;方式进行释放,不知是否有效。 3.何时释放动态数组比较适合:能否在生成动态数组的类的Destroy事件中释放呢? 4.最后一个问题:这样写,是否真正达到了:“界面代码和功能代码分离”这个目的?
我的联系方式:myqq8@163.com,QQ:815825 |
本站原创作品,未经作者许可,严禁任何方式转载;转载作品,如果侵犯了您的权益,请联系我们! |
相关文章 |
|
![]() |
|
相关评论 |
![]() |
共有评论16条
当前显示最后6条评论
|
lanyaoshi |
2007/2/12 15:44:49 |
感谢hwwlt的指点,谢谢了。 |
gxliuyi |
2007/2/14 11:09:29 |
AUser_Operater := TUser_Operater.Create; 每次操作都要创建一次,每次创建都要打开一下数据库,不用这样设计吧 我觉得是不是就像cdlaji说的一样,把它分成 1。数据连接。 2。数据获取和读写 3。DataSet数据和Object数据的交换。 这样 我们只要做 2。数据获取和读写就OK了,而不需要每次都要1 |
nada |
2007/2/20 22:04:09 |
这样有什么用呢 代码一驮一驮的 。。本来几分钟可以搞定的东西硬给整成2个小时了 |
c_glacier |
2007/3/12 17:58:27 |
个人一点不成熟意见,ShowMessage('姓别的长度不能超过2个字符');不该出现在user类中,ShowMessage该属于界面得东西; 还有,用创建那么多次user嘛? |
linghe |
2007/4/16 9:51:55 |
大家提了这么多意见,不知哪位高手可否上传更多的关于此类的例子上来.兄弟正在学习中... 顺便通知一下我 hengmao.ling@gmail.com 先谢了! |
hps9743003 |
2008/6/16 11:57:53 |
我一直在寻找这方面的内容了,在JSP中可以用COLLECTION类,在VC中可以用VECTOR,今天终于找到了DELPHI中如何用了. 不用这种做法没法使用DBGRID等控件呀, 另外使用DATASNAP怎么样? |
我要发表评论 |
查看全部评论 |
|
|
|