web开发应用三层构架真的有必要么

来源:百度知道 编辑:UC知道 时间:2024/06/05 04:56:52
web开发应用三层构架真的有必要么 请注意讨论的前提:web应用,并非大型系统

说来也用三层构架(以下简称三层)开发ASP.NET web系统有些时日了,经手大大小小的项目也有很多。
从初识三层的满腹疑问,再到学习三层时的激情,再到应用三层成功开发时的成就感,直到现在满腹的疑惑。

我们应用三层开发web应用是否真的有必要?
三层鼓吹的好处不用说,什么便于修改,易于维护,统一的编程风格等等我就不说了,大家都知道。

现在我来说说三层的坏话。
首先、三层是否真的像鼓吹的那样便于修改???我在项目的进行过程中经常要修改项目的数据库,而每次修改过数据库都非常痛苦,因为除了反射不用修改外,其他的要从实体层一直修改到表现层,层层都要改。
这难道是减耦??我觉得这依然是强耦合。

其次、三层带来的臃肿是空前的,本来简简单单的表单提交搞的异常麻烦,先要填充实体,期间还有好多数据封装与转换。。。。

再次、抽象。在web应用大多不过是对数据库进行读读写写,而应用三层还要层层分离,设计各种接口,期间还会浪费大量的资源(这就是传说的盘剥?)。本来提交到web的表单都是应该直接对应数据库的,应该是简洁快速的。

最后、对于web应用用户体验是最关键的,而三层要结合大量的服务器控件,无疑对资源又是一个消耗,速度会下降,用户体验就会降低,这是个很重的问题。

目前就想到这些,欢迎讨论。如果有好的方法请不吝赐教!

效率上的损失是为了接口的统一和表现的一致性,正像你所说的,提交表单直接操作数据库效率是最高的,可是如果这样做,那可能就一个人一个做法,将来项目的维护难度可想而知。

“每次修改过数据库都非常痛苦”
这个我同意,问题是一个成熟的系统前期的设计就需要充分考虑到未来业务的发展和功能的扩充,如果一个应用系统稍作改动数据库就要做对应的改动,那么只能说明数据库的设计是不成熟的。

说实话,我没做过几个web开发应用,不过从事过其他行业的系统设计,有一点点的了解。前面表述的观点如果有误纯属正常,不要见怪。