多层中应用服务器得接口规划设计问题,回复必有收获。(100分)

  • 主题发起人 主题发起人 ninglng
  • 开始时间 开始时间
我的意思是,在传递的参数中也不要有sql语句更好.
 
客户只需要知道功能或服务ID,及一些参数,不涉及到任何SQL语句.
 
今天看到他们利用bpl技术和接口技术来实现插件式的软件组装,用到某个模块时才调入内存,用完后如果暂时不用,可以释放.
我们来扩展一下,把我们将要处理的数据库表按类做成接口,编译到一个单独的dll中,这样在使用时动态的调用.
效率回怎么样呢?
 
这个贴提得真好!
我将做的系统有多个表(还不包括视图和存储过程),如果按"dataset+datasetprovider+clientdataset"这样的方法,我老是认为这只是假三层!!!
关注!
 
自我感覺就是中間層提供所有的業務規則功能服務,客戶端就是在取服務器上的業務功能。
至於要做一些通用的接口。。。。感覺有點遙遠,接口函數要客戶端提供的參數,如果接口參數變了客戶也要根著變。也就是說客戶端還是要跟著服務器一起走。特別是數據庫表結構變了,就要每層都去改。[:(] "累就一個字" 因此我感覺midas的精華就是對業務規則的封裝。數據庫結構和中間層一定要做好。
 
高手都没有发言,
因为那是他们公司的秘密。。。
 
题外话:对不起大家了。近一周时间去北京培训了,没有来和大家研究,又要去广州了,有时真地希望有点时间研究一下问题。
这个问题,请大家多多考虑。如果有了好的想法也一定在这里和大家探讨。
我现在的做法是针对功能在appserver做接口,对于简单的数据库操作还比较容易实现,但实现那些复杂的查询统计就比较困难了,很难做到客户端不涉sql语句。请教我!
请需要的同行继续关注!
 
我照着大多数的说明书配置,还是不能在边上的机器访问我的COM+

客户端运行SQL是绝对不行的,那业务逻辑就转移到了客户端,需要知道表名,字段名,关联关系。。。。
 
真正的3层结构中,Client 是一定不能使用SQL的,因该杜绝一切的SQL语句在网络上传输,Client只是使用 Appser提供的功能接口,而不是直接的去操作数据库。但是这种Appser的编写是很浪费的,首先,它必须要解决所有的商务逻辑问题,其次,这样的Appser根本就不通用!
所以直到现在为止,我还是使用的假3层结构,使用Th3的中间件,把所有的商务逻辑都放到了客户端。
 
各位可以看以下“刘艺的新书--Delphi面向对象编程思想 第八章”,主要说界面、业务逻辑的分离,可能对大家有帮助。
我只有该书前言和第八章的电子版,原书还没买到。谁要我可MAIL。
希望大家一起进步。
 
to ntugn :能发给我吗?谢谢ninglng@hotmail.com
 
to ntugn :能发给我吗?谢 dt_dream@163.net
 
To ntugn: 發給我看看 guan_kai@sina.com
 
开始时,我想做成loaddata等接口过程来返回data,但有一个问题不知如何解决,就是怎么样返回一定的数据条数如只返回10条,在下一次个数据包返回后面的怎么实现呢?
请大家抛开畅所欲言吧。
或加入1194842组(qq)我是天街男孩
 
to ntugn :能发给我吗?谢
jiams_wang@163.com
 
采用clientdateset.commandtext:='select * ......';
有中间件执行,如果你同时访问5个表,只要5个clientdateset 即可。我在福建移动已运行的 很好。
 
把业务规则放在中间层就解决一切了吗?
有几个系统可以在业务规则改变后只修改中间层而不修改客户端的?
除非你把你的客户端做得像IE一样,只是表现形式(别告诉我你要从中间层服务器下载插件)
但真要做成那样,技术难度有多大?中间层的规划及设计又有多复杂?
仁者见仁,智者见智,尽信书不如无书!
>>怎么样返回一定的数据条数如只返回10条
三层不是万用良药,解决上面的问题有两种方法,一种用SQL,数量量大会极大的影响效率,另一种用有状态的中间层对象,但这样违背中间层的设计思想了.
 
to ntugn :能发给我吗?谢谢
 
to ntugn :能发给我吗?谢谢
正在想这个问题,关注!
beer_lee@tom.com
 
我回来了,大家近来可好啊
 
后退
顶部