免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4457 | 回复: 3
打印 上一主题 下一主题

.net应用程序分层的个人认识 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-03-07 12:58 |只看该作者 |倒序浏览
转:理工.net   




应用程序分层,我感觉类似于团队不同岗位的分工;不同岗位的员工有不同的工作内容、工作职责,岗位职责的清晰明了,有助于提高工作效率;岗位间工作内容明确,有助于提高团队的相互沟通。应用程序各层之间功能、职责,清晰、明确有助于各层之间的相互服务,降低程序的复杂度、降低风险,有助于程序的以后维护与扩宽。

我在进行.NET应用程序开发时,经常听到三层架构,多层架构,MVC架构等等。我用过和了解过的架构很少,今天看了看以前在大学时写的一个.net应用程序,感觉好多冗余代码、架构很含糊,突然间感觉对程序的分层,搭建架构有了一个新的认识。

  说分层吧,我们经常说到的那些架构,我感觉都有一些共同的特点:程序结构清晰,软件易于维护、扩展,提高开发效率。现在比较实用、流行的框架,我想大概是那些走在前面的大牛们,经过了大量的摸索、实践、总结得出来的劳动成果,这个社会的生产效率也因为他们的奉献得到了提高。

   在做应用程序做架构设计时,我个人的感觉:职责、内容明确,清晰很重要。

假如,我的程序分为数据访问层,业务逻辑层,表现层。

搭建了数据访问层,就要给出它职责、内容的明确定义;那些直接与数据库打交道的事,都交给数据访问层去做,在其他层就不应该有SqlConnection,SqlCommand;当程序出现数据库访问、操作的bug时,首先就可以不要找其他层的问题,因为前面给予了数据访问层明确的职责和内容定义,这个时候是该它履行权利和义务的时候了。说回来,本属于业务逻辑层的职责,数据访问层就不要插手,例如注册用户名时,用户名是否存在的判断,数据访问层就没有权利下结论,只需根据业务逻辑层的请求,是查询所有已经存在的用户名呢,还是查询指定的用户名。

同理,业务逻辑层、表现层类似的给出它们明确的职责,内容的定义。尤其是对于有些内容放哪里都好像可以,这个时候就看前期各层之间职责、内容的清晰、明确度定义的如何了。本来同一个业务功能是放哪里都可以,想想应用程序不分层设计时不就是这样吗。既然分三层或多层了,那么当类似用户名、密码不能为空的判断,到底是放在表现层呢,还是业务逻辑层;就应该不用犹豫;犹豫的话,说明前面定义职责或内容不够明确和清晰,说不定时间一长,就出现了很多冗余的代码。

我猜想那些经验丰富的大牛们,应该是不局限于用什么架构的吧,我猜想他们的脑海中有自己定义的架构,他们正在工作中实践总结。

没事写下所感所想,个人经验不足,理解过于肤浅,忘莫笑话。

论坛徽章:
0
2 [报告]
发表于 2012-01-13 11:49 |只看该作者
有时候会有这样的感觉:前期的时候,在学习的时候,总是套用别人成熟的架构或者方式,或者把书本的东西改动一点之后移用过来;
中期,慢慢的有了一定的领域的时候,或开始用自己的方式来组织架构,设计项目
后期,领悟之后,发现:什么架构,什么模式?感觉没有那个东西存在了,但是在设计和开发的时候,不自然的就流露出很好的设计,无招胜有招!

回复 1# feiyang10086


   

论坛徽章:
4
CU十二周年纪念徽章
日期:2013-10-24 15:41:34摩羯座
日期:2013-12-24 13:05:332015亚冠之西悉尼流浪者
日期:2015-10-09 16:03:47fulanqi
日期:2016-06-17 17:54:25
3 [报告]
发表于 2012-02-23 13:11 |只看该作者
回复 1# feiyang10086

关键要有架构思想,高内聚,低耦合,能够包容变化的架构就是好的架构!因为,事物是变化的~


   

论坛徽章:
4
CU十二周年纪念徽章
日期:2013-10-24 15:41:34摩羯座
日期:2013-12-24 13:05:332015亚冠之西悉尼流浪者
日期:2015-10-09 16:03:47fulanqi
日期:2016-06-17 17:54:25
4 [报告]
发表于 2012-02-23 13:13 |只看该作者
回复 2# yanyangtian4502

非常赞同,纸上得来终觉浅,绝知此事要躬行!

   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP