高手请进有关三层的问题
我们公司想开发一个三层的软件,但又不想直接操作数据库,想用一个中间层进行操作,不知哪位有过这方面的经验,难否给个思路
[解决办法]
本人的软件与你说的类似,总的来说,这样做会大大增加代码的数量,但是确实很有好处,本人的做法是把对数据库的所有操作全部放在类里,对底层统一调用
根据我的经验,应该是几层不应该由谁来定,而应该由程序自己来定,需要几层就用几层,不是定下来几层再按这个结构去写
具体的做法因为关系到机密,目前不能公布出来,请谅解
[解决办法]
我的做法是做一个服务器,与数据库连接,客户端通过socket与服务器连接,然后服务器从数据库存取数据。为了解决多个客户端同时连接的问题,对连接请求进行队列处理。代码恐怕比zhykhld(独木桥) 的还多,但目前可以在城域网内使用。
[解决办法]
第一层:数据服务层,多用存储过程
第二层:中间服务间,需要你写大量通用的DLL文件,所有的库操作都写在这里
第三层:客户端,需要的就是界面部分,和向中间层传递参数了
这样的话,以后维护安全都很方便
但是前期有设计工作太多了
你要对功能模块进行细分,才能知道中间层上要写多少个文件才可以
而且中间层的文件大部分是通用的,所以小心小心
[解决办法]
"标准 " 三层的做法教科书上或者网络上有例子,数据库中的一个表对应代码中的一个实体类和集合类。在类里操作数据库,客户端使用类提供的方法。
本人很讨厌这种做法,效率低不说,还把程序搞成四不像,我觉得VB的优点是开发效率而不是面向对象,没必要做这种卖力不讨好的事情。本人现在就在维护这样一个系统,先前设计系统的人祖宗十八代都被我骂过了。
把具体的业务方法做到中间层里去,在中间层里直接跟数据库交互,但是中间层跟客户端交互主要通过值类型数据而非对象,例如串行化的记录集等等,效率高而且代码量很小,易于扩充。
如果是在局域网环境中,客户机跟中间层的通讯可以用COM+。广域网的话可以用Socket或者WebService。
[解决办法]
关注,学习!
[解决办法]
路过
[解决办法]
补充fj182(小亮)的说法,他的方法我使用过,在一个省内的通讯不存在太大的问题。完全不用考虑网络延时或者查询超时。
[解决办法]
凑个热闹,留个名——> 同意楼上的说法。
[解决办法]
建议 WebService。
[解决办法]
ding