ITPUB??ì3
ITPUB论坛 » Web开发 » ASP.NET与AJAX » 分层的意义是什么?

新一届的微软MVP评选已经开始,欢迎各位推荐!

标题: 分层的意义是什么?
离线 juanpeng
中级会员



精华贴数 0
个人空间 0
技术积分 4666 (294)
社区积分 0 (1441335)
注册日期 2007-6-21
论坛徽章:27
开发板块每日发贴之星开发板块每日发贴之星开发板块每日发贴之星生肖徽章2007版:鼠生肖徽章2007版:鼠生肖徽章2007版:鼠
生肖徽章2007版:鼠生肖徽章2007版:鼠生肖徽章2007版:鼠生肖徽章2007版:鼠生肖徽章2007版:鼠生肖徽章2007版:鼠

发表于 2008-7-1 10:49 
分层的意义是什么?

平时做具体的项目,除了结构性的东西以外
业务逻辑的大量代码其实都是不能抽象的
而是根据具体的业务,来决定方法的返回值和参数
如果一个业务改变,也很大程度上都会对这两项进行修改

大部分分层例子都是,逻辑层一个函数,数据层对应一个函数
数据层进行SQL语句和参数的组装,逻辑层基本上就是简单的调用数据层
顶多就是把几个数据层的方法组合

这样来说,如果一个业务改变,进而需要修改返回类型和参数的话
两层的代码都需要改,对于维护不是更方便了,而是更复杂了
如果只有一层,改一个地方就可以了

从这个角度来说,分层的意义是什么?


只看该作者    顶部
离线 duxiaochu1972
资深会员



精华贴数 0
个人空间 0
技术积分 6352 (208)
社区积分 4 (18485)
注册日期 2006-7-13
论坛徽章:14
开发板块每日发贴之星开发板块每日发贴之星开发板块每日发贴之星开发板块每日发贴之星开发板块每日发贴之星开发板块每日发贴之星
开发板块每日发贴之星开发板块每日发贴之星开发板块每日发贴之星开发板块每日发贴之星开发板块每日发贴之星生肖徽章2007版:鼠

发表于 2008-7-1 10:52 
也不是所有的程序都需要分层的,

在团队开发中分层比较好分工的,不需要人人都很精通业务,不懂业务的调调别人写好的东西就行了,但是分层在设计的时候要求很高,做设计的人要对业务非常的了解,一旦定下来的东西就很难去修改了


不分层的代码其实很灵活,想怎么改都行,而且你改了对其他的代码基本不会产生影响,能够随时跟上客户的需求,因为更改一个页面,或者某段业务逻辑对其他程序没有影响,但是对程序员的要求就很高了,必须知道很多东西


个人认为分层的好处是让那些刚学会编程的人能很快找到一份工作,虽然工资低一点但那毕竟是有工作了

让经验丰厚的程序员具有更多吹牛的资本,因为增加了很多专业词汇,能把客户吹的迷迷糊糊的最后很开心付账,1层还是3层,或者7层...你想让一个不是很懂程序的客户听了他喜欢那个?


只看该作者    顶部
离线 cyntha80
中级会员



精华贴数 1
个人空间 0
技术积分 4669 (293)
社区积分 2 (30336)
注册日期 2007-2-8
论坛徽章:20
开发板块每日发贴之星生肖徽章2007版:鼠生肖徽章2007版:鼠生肖徽章2007版:鼠生肖徽章2007版:鼠生肖徽章2007版:鼠
生肖徽章2007版:鼠生肖徽章2007版:鼠生肖徽章2007版:鼠生肖徽章2007版:鼠生肖徽章2007版:鼠生肖徽章2007版:鼠

发表于 2008-7-1 10:54 
层(三层)结构还是有很多优点的,小的系统可能是体现不出来,在电信营帐和银行系统的表现就很明显了,主要表现在:1.优化系统结构,便于维护和管理;2.将客户端与数据库隔离起来,客户端无权限直接访问数据库,大大提高了安全性;3.便于业务(事务)级权限管理;4.可扩展性:若要提高系统性能、处理速度,可增加应用服务器,分担一部分应用服务工作即可,而原来的应用服务器几乎可以不动。5.可以减少网络数据流量和提高数据库响应速度;6.可以节省硬件投资和保护现有投资,要知道大型系统应用的硬件投资都是价格不菲的;7.采用中间件的中间层可以均衡负载,提高系统性能。

楼主所说的“大部分分层例子都是,逻辑层一个函数,数据层对应一个函数
数据层进行SQL语句和参数的组装,逻辑层基本上就是简单的调用数据层
顶多就是把几个数据层的方法组合”,我可以不好意思的说一下,楼主做的项目还不够大,呵呵,大型系统中间层都会用到中间件的,目前用的最广泛的是bea的tuxedo交易中间件,你可以找些这方面的资料看一下!


只看该作者    顶部
离线 handuner
初级会员



精华贴数 0
个人空间 0
技术积分 3574 (411)
社区积分 0 (1442319)
注册日期 2007-6-21
论坛徽章:21
开发板块每日发贴之星开发板块每日发贴之星开发板块每日发贴之星生肖徽章2007版:鼠生肖徽章2007版:鼠生肖徽章2007版:鼠
生肖徽章2007版:鼠生肖徽章2007版:鼠生肖徽章2007版:鼠生肖徽章2007版:鼠生肖徽章2007版:鼠生肖徽章2007版:鼠

发表于 2008-7-1 10:55 
减少代码偶合度,提高可维护性和代码可重用性等等


只看该作者    顶部
离线 smthgdin
老会员



精华贴数 0
个人空间 0
技术积分 1395 (1212)
社区积分 1 (35162)
注册日期 2004-5-13
论坛徽章:2
ITPUB元老开发板块每日发贴之星    
      

发表于 2008-7-1 23:27 
楼上几位是正解,不分层,对于需求的变更,修改代码可能会有更大的麻烦和隐患。
此外,分层也便于团队开发。
最后强调一点,需求一边不可避免要修改代码,所以。。。。。。


__________________
www.kooboy.net
只看该作者    顶部
 
    

相关内容


CopyRight 1999-2006 itpub.net All Right Reserved.
北京皓辰广域网络信息技术有限公司. 版权所有
E-mail:Webmaster@itpub.net
京ICP证:010037号 联系我们 法律顾问