我作过几个成熟的,三层结构的商业软件。 现在在作三层 b/s 应用。
我的心得是:
.中间与数据库的交互尽量用 存储过程(对应TStoredproc控件);定义接口(尽量避免修改)。
三层结构的又一个特点是。组件(功能)模型,即组件为系统的功能模块,组件的接口应该是相对稳定的,组件的内部功能修改、版本升级基本上 不影响前端应用程序,这也是三层设计的初衷之一。我看你的,数据库访问形式比较混乱,最好重新设计一下。
三层是一个,程序设计思想方法。不能只学其形,弃其意义。那只能是一个假的三层。
先写怎么多,想探讨 探讨欢迎。[email protected]
我的心得是:
.中间与数据库的交互尽量用 存储过程(对应TStoredproc控件);定义接口(尽量避免修改)。
三层结构的又一个特点是。组件(功能)模型,即组件为系统的功能模块,组件的接口应该是相对稳定的,组件的内部功能修改、版本升级基本上 不影响前端应用程序,这也是三层设计的初衷之一。我看你的,数据库访问形式比较混乱,最好重新设计一下。
三层是一个,程序设计思想方法。不能只学其形,弃其意义。那只能是一个假的三层。
先写怎么多,想探讨 探讨欢迎。[email protected]
还望多指教!想从csdn的兄弟们中学点东西,也好完成老板的任务!谢谢!
mail: [email protected]
李维的《Delphi4.X实战篇》1,2
或者Delphi5系列,
呵呵,其实内容都差不多
1。首先请你参照李维的书《DELPHI多层应用》!非常棒,很简单!有例子!
2。当你实现了1之后,在你的三层程序应用程序的服务器端,添加有限数目的QUERY(注意十几个应该差不多了)。客户端对应的CDS(CLIENTDATASET),在需要的时候,动态的连接应用服务器上的对应QUERY的DATASETPROVIDE~!在用完之后记得关闭!这样你的应用程序服务器就不会太大!如果你不这样做,可能由于数据控件太多而无法实现
楼上的只有sqsdl(感叹)说到了主题上!希望大家能谈谈这个“变”上面的经验!谢谢!
简单的提到而已,对于只要用它来做应用来说,这个并不是个大问题,因为从RemoteDataModule
这里来看,4和5都是一样的,李维的这两套书,内容都差不多,只不过在5里面,针对5的特性又多做了一些描述而已,对于
做多层的数据库程序,从Delphi 3开始,原理上都是一样的,(如果大家有机会,可以找找李维
的《深入Delphi 3.0》,看看里面的多层那一部分和5里面有多少不同)我自己的一点体会:
多层数据库,其实关键还是在规划阶段,要考虑数据存储的合理性,网络流量的大小,
其实效率和速度才是真正要好好考虑的一环,诸位看李维的书,不也是到处都在讲要如果
才能提高效率,加快速度嘛
1、将原来系统中的数据控件放到中间层,在客户端用相应的ClientDataSEt代替原来的数据控件,然后想办法让服务端一直运行(例如在服务器端放一个程序,让它一直和应用服务器连接。否则每次启动客户端都要启动服务端,肯定慢得一榻糊涂)。建议你根据原来系统的模块划分来决定数据模块的划分,但最好不要弄很大的数据模块,一些能合并的东西就合并吧。这个办法有很多弊端,但也应该是改动工作量比较小的。
2、只设置几个通用的数据模块,然后在中间层中定义一些方法来获取数据封包,然后传送到客户端,由客户端的ClientDataSet进行解析,就象李维书上写的那样(ADO/MTS/COM+高级程序设计篇p445 9-4节的例子,那个例子用的是ADO,但实际上和用BDE是差不多的)。这种方法的效率比较高,不过改动的工作量会比较大。我觉得你可以同时使用1、2种办法。关于那个单元文件,你不是已经知道了怎么在中间层定义方法或过程让客户端调用了吗?那样做就是了。注意把一些不会改动的函数放在客户端,一些可能会改动的,或者需要和数据库打交道的函数放到服务端就是了。说的比较笼统,看来大部分工作还是要靠你。其实很多问题依靠别人是不行的,主要还是要靠自己,一个问题由自己亲自解决以后,会有很强的成就感的。相信你解决了这个问题以后,会有很大提高的。
csdn有你这样的高手,要学好Delphi就指日可待了!
谢谢谢谢谢谢