》》》》》》》》》答复OldBone的问题
Siney 2003-10-17 01:46:26 因为留言太长,而不能发送,所以开个帖子专门回答你,也希望大家来讨论。
----------------------------------------------------------------
原贴内容:
我最近在做三层框架和面向对象的相关学习,以前我也做过一些关于三层结构的程序,其基本思路是在应用服务器端放置一个remote datamodule,在remote datamodule放置若干tdataset 和Tdatasetprivder控件(两者一一对应),在客户端放置一个TClientDataSet控件与之相对应,应该将这一种常见的三层框架(李维的书籍也是这样讲),但是,我感觉如下不好的地方:
1、必然会出现在一个大的远程数据模块,使应用服务器变得非常臃肿。
确实是这样,所以不建议防止太多了ds和dsp,而是创建一些DCOM方法来配合。
2、这样得结构是否与c/s结构没有大得区别,没有发挥remote datamodule功效,同时这样得结构还带来网络开销,
说起midas的这个思想其实形成很早,当时网络数据库的概念还不是很广泛,所以为了对于桌面数据库可以垮网络就提出了midas这个技术,所以如果一般的设计,可能体现不出这个3层的结构和cs有太大区别。但绝对有本质的区别。
3、这样的框架是否与面向对象思想没有太大的关系,
不好回答,不明白的意思。
4、从我目前掌握的资料和经验看来,midas在大型的应用系统中的表现是否不是太好
与设计有关,片面使用bcb、delphi提供的可视化操作,使得出现了你第一个问题,所以这样的设计会影响效率,但可以解决,效率还是非常不错的。
5、从我目前掌握的资料和经验看来,在程序(特别是大型的应用系统中)中使用大量的数据感知控件,好像对系统性能有较大的影响。
确实是这样,所以不建议在远程数据应用中直接使用data-aware组件
现在,我想向请教,如下问题:
如何在borland公司的midas框架下,应用面向对象的思想如何在应用服务器端封装企业的业务,供客户端调用?
DCOM方法,而不是表露这个table或者view等,如果企业本身拥有相当大的数据处理任务,如实时数据记录等,则建议不要使用midas技术。在客户端永远看见的都是一个方法、属性,或者COM+的事件机制,而不是若干provider,则是最好的设计。
---------------------------
看的出你已经据用相当经验,所以我的话你肯定也有选择的参考,或者大家讨论会很好,不妥之处还请见谅。