捐赠 | 广告 | 注册 | 发布 | 上传 | 关于我们    
  粤ICP备10103342号-1 DELPHI盒子 | 盒子文章 | 盒子问答悬赏 | 最新更新 | 盒子检索 | 下载中心 | 高级搜索    
  精品专区 | 繁體中文 | 奖励公告栏 | 直通车账号登陆 | 关闭GOOGLE广告 | 临时留言    
盒子资源分类
全部展开 - 全部合拢
界面代码和功能代码分离示例
关键字:界面代码 功能代码 分离 O-R Mapping 数据库封装
来 自:原创
平 台:Win2k/XP/NT,Win2003 下载所需:0 火柴
深浅度:高级 完成时间:2007/2/5
发布者:lanyaoshi 发布时间:2007/2/7
编辑器:DELPHI7 语  种:简体中文
分 类:数据库 下载浏览:2751/15739
加入到我的收藏
下载错误报错
登陆以后才能下载
 用户名:
 密 码:
自动登陆(30天有效)
图片如果打不开,说明流量不够了,请稍候下载……
  准备在一个项目中采用所谓的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
Google
 
本站原创作品,未经作者许可,严禁任何方式转载;转载作品,如果侵犯了您的权益,请联系我们
龙脉加密锁 15元起 Grid++Report 报表 申请支付@网
 相关文章
没有相关文章
相关评论
共有评论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怎么样?
我要发表评论 查看全部评论
 
  DELPHI盒子版权所有 技术支持:深圳市麟瑞科技有限公司 1999-2024 V4.01 粤ICP备10103342号-1 更新RSS列表