》》》》》》》》》答复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,则是最好的设计。

---------------------------
看的出你已经据用相当经验,所以我的话你肯定也有选择的参考,或者大家讨论会很好,不妥之处还请见谅。
...全文
58 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
oldbone 2003-10-20
  • 打赏
  • 举报
回复
to pp616(傻小子), domustdo(大头) :
能否将你们研究的心得共享一下.
jishiping 2003-10-19
  • 打赏
  • 举报
回复
很抱歉,我没有做过MIDAS、DCOM、COM方面的编程。
domustdo 2003-10-18
  • 打赏
  • 举报
回复
嗯,不错,最近正好正在学习这方面的东西。
annkie 2003-10-18
  • 打赏
  • 举报
回复
mark.学习!
pp616 2003-10-18
  • 打赏
  • 举报
回复
我没搞过这方面的项目。向各位学习。
oldbone 2003-10-17
  • 打赏
  • 举报
回复
请各位大侠多多关注
kingcaiyao 2003-10-17
  • 打赏
  • 举报
回复
我已经很久都没有做数据库了,我写的程序都是和硬件有关的,很抱歉不能给你什么建设性意见或好的意见,仍然感谢你盛请相邀。
ThinkX 2003-10-17
  • 打赏
  • 举报
回复
好贴!这样的帖子才有水准。可惜我对此不熟悉,顶!
oldbone 2003-10-17
  • 打赏
  • 举报
回复
TR@SOE的回答:
1、必然会出现在一个大的远程数据模块,使应用服务器变得非常臃肿。
这样做要比将数据模块分散在各个客户端要好,更便于管理。如果真的要考虑远程数据模块的大小,那么可以在需要时在动态创建。
2、这样得结构是否与c/s结构没有大得区别,没有发挥remote datamodule功效,同时这样得结构还带来网络开销,
区别是很大的。这样的结构是降低了网络开销。因为只有需要处理的数据才会在网络上传输。便于管理。
3、这样的框架是否与面向对象思想没有太大的关系,
数据库本身就不是面向对象的,你听过“面向对象的数据库”吗?
4、从我目前掌握的资料和经验看来,midas在大型的应用系统中的表现是否不是太好
可以考虑用CORBA或者Web Service.
5、从我目前掌握的资料和经验看来,在程序(特别是大型的应用系统中)中使用大量的数据感知控件,好像对系统性能有较大的影响。
确实如此。可以不用数据控件啊。

Wingsun的回答:
正如你说的那样,使用MIDAS有时会遇到这些问题。如果要做得好那就需要在一个COM对象中设计多层次结构的对象,这时候就不需要数据感知控件。你可以根据你的数据结构设计并创建出正确的对象出来。MIDAS成为一种通讯的机制,通过MIDAS来传输数据而已。还有就是,在客户端设计一个对象层,这一层和服务器还是通过数据感知对象来处理,但是这样不太好,最好的就是在服务器端的对象。
oldbone 2003-10-17
  • 打赏
  • 举报
回复
请楼主邀请Wingsun、TR@SOE、jishiping、Aweay、Chinaborl参加讨论
oldbone 2003-10-17
  • 打赏
  • 举报
回复
多谢搂住将我的问题,开专题讨论,附原贴内容:
我最近在做三层框架和面向对象的相关学习,以前我也做过一些关于三层结构的程序,其基本思路是在应用服务器端放置一个remote datamodule,在remote datamodule放置若干tdataset 和Tdatasetprivder控件(两者一一对应),在客户端放置一个TClientDataSet控件与之相对应,应该将这一种常见的三层框架(李维的书籍也是这样讲),但是,我感觉如下不好的地方:
>> 1、必然会出现在一个大的远程数据模块,使应用服务器变得非常臃肿。
>> 2、这样得结构是否与c/s结构没有大得区别,没有发挥remote datamodule功效,同时这样得结构还带来网络开销,
>> 3、这样的框架是否与面向对象思想没有太大的关系,
>> 4、从我目前掌握的资料和经验看来,midas在大型的应用系统中的表现是否不是太好
>> 5、从我目前掌握的资料和经验看来,在程序(特别是大型的应用系统中)中使用大量的数据感知控件,好像对系统性能有较大的影响。
>> 现在,我想向请教,如下问题:
>> 如何在borland公司的midas框架下,应用面向对象的思想如何在应用服务器端封装企业的业务,供客户端调用?
>> 这个问题是否有点大,但我希望您能提供一种思路或者相应的查考文章,不胜感谢!!!



1,178

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 数据库及相关技术
社区管理员
  • 数据库及相关技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧