讨论:win2000+sql2000开发中大型系统到底是用二层好还是多层好!(100分)

本来我也是两层的坚定支持者,但是用了一段时间三层以后发现
三层还有有其优越性的。
1.三层要求你抽象出业务对象放到应用服务器上,这样会迫使或者说
有利于开发者用更加符合对象化的方法进行开发。
2.三层的速度不会比两层差太远,甚至有时候会更好,我用的是mts
数据库是sql server,和直接用Delphi的ado控件相比差别的确很小。
甚至还会快一点。
3.三层可以为你的系统增加灵活性,客户端只需要关注对中间层提供的接口
而具体怎样实现,都被中间层封装了,中间层可以有很多种的实现方式,甚至
可以连接不同的数据库。
4.使用三层的技术就多了一个卖点。向客户猛吹一番,价钱也好谈一点[:D]

以上都是个人经验和看法,总得来说三层只是一种可供选择的技术而已,
对一个项目的成功与否并非那么重要。对于你来说,我建议你还是用两层
因为你不了解三层没必要冒险,还是用最熟悉的稳当。
 
我也正在對這個問題迷惑著。
 
如果是局域网肯定用二层,如果是广域网使用b/s架构,客户-web服务器直连数据库。
 
你提到的"三层的速度不会比两层差太远,甚至有时候会更好,我用的是mts
数据库是sql server,和直接用Delphi的ado控件相比差别的确很小。
甚至还会快一点。"这句话我是非常的不同意.

应用层与客户间的通讯是要经过翻译一下的,速度怎么会快呢,如果为了安全性,通信的过程还要加入加密与解密,这更不会快了.
 
那是我测试的结果,我本来也不相信的,
理论上当然两层当然会比三层快,但是我自己测试的结果的确如此。
吹牛对我自己来说没好处。
 
使用 多层 的 思想
进行 两层 的 开发。


多层 的 模式
两层 的 效率



 
使用 多层 的 思想
进行 两层 的 开发。

这才正路,这点我是非常的赞同。

二层中完全是能够把业务逻辑独立出来的,甚至可以做到脚本式的应用逻辑,即更改业务只是发现新脚本,而用户客户端的软件都不用重新编译。
 
是不是需要从安全性方面来考虑?
 
李維說過:三層一定是要好過二層的,主要體現在數據處理,維護上,但是我們寫程序的人,真正給200用戶以上的又有几個呢?所以在部份還在CS中,但是三層也真的對我來說不好,為什么呢?李維的ADO那本書,我還看不懂!
二層的開發,我已寫過几個系統了,想轉到三層,覺到單個人開發二層真的要好!
希望大家繼續發表自己的看法!
 

此二层非彼二层

---------“在可扩展性方面二层也要优于三层”
这好象是三层的优点吧 不过话有说回来了 就是你这个系统到底有多大 总之是越大三层的这个优点就越突出

 
根据应用去权衡吧。没有目标应用,单纯的评判哪个好有点不合适。
 
现在不是流行BS吗?:)
 
正需要,好好学习!
 
传统的两层数据库系统,实质上是把数据存取和应用程序分离开来,数据服务器执行数据存取操作,客户机执行相应的应用程序。用户界面和企业逻辑层放在客户端,负责向服务器端请求和接收数据。当进行升级和维护时,任务变得特别繁重,要对每一个客户端的软件进行相应的升级和维护。多层数据库系统就可以很好的解决此问题:将中间层分离出来,由专门的服务器进行企业逻辑处理,如提供Web Services、Application Serve,使客户端成为“瘦”客户(只要浏览器即可)。从效率上说,
两层系统效率高些。
 
全是高人我不敢乱说. 不过我认为二层的好些, 主要也是看你的水平和具体的项目要求来定开发模式了. 没有必要非要争论到底是二层的效率高还是三层的效率高.
 
to mrzj:
兄台说的用两层实现起来比三层方便,这一点我我同意。毕竟三层的技术要求要比两层复杂。我们最终系统是让用户使用的,1000用户以上的系统不算小了,应该采用分布式结构,系统才能运行正常。如果采用两层,我觉得后台的数据库应付不过来。(就算1000个用户可以应付,10000个用户呢?)
还有就是维护问题,倘若企业要修改业务逻辑,采用两层的结构,则必须对1000个client都进行更新,这是多么庞大的工作。如果采用三层,业务逻辑跟前台界面完全分离,
只需要修改中间层就ok了。维护起来方便。
 
还有就是,mrzj你所说的经过测试是听哪位仁兄说的呢,他所说的是怎样的测试,是真正实施后的结果吗?如果就在自己公司用几台机子搞的测试,这样三层优势根本是不明显的,甚至真的比两层的效果还差。现在MS 的.Net基本是基于三层开发的,这只是我的理解,欢迎讨论。
 
我再说几句,业务逻辑跟前台界面分离只是比较理想化的想法
事实上,当需求或者设计发生改变的时候,大部分情况下无论
业务逻辑还是界面都需要修改的。
三层只是一个可供我们选择使用的一种技术而已,关键还是思想
单纯从技术角度看,我认为只要用得好三层绝对是非常好的一种
技术。
 
用三层除了在对外宣传时可以NB些以外实在乏善可陈,规划得好一些的二层比三层稳定、高效、灵活、维护方便。
 
顶部