社区
C#
帖子详情
三层架构的设计思路,主动思考有重赏
「已注销」
2009-02-20 03:14:02
学了三层架构,做项目用了不少次,在设计上总感觉不爽,
如果数层访问层不涉及一点业务逻辑,则好多方法都差不多是费物,很占资源,
而如果在业数据访问层绕着业务逻辑设计,性能提高了,可"高内聚"这一原则又说不过去了
很是郁闷,
各位发表一下对三层架构的使用心得,以及看法等
有资料发到
joke.he@163.com
重谢
...全文
628
58
打赏
收藏
三层架构的设计思路,主动思考有重赏
学了三层架构,做项目用了不少次,在设计上总感觉不爽, 如果数层访问层不涉及一点业务逻辑,则好多方法都差不多是费物,很占资源, 而如果在业数据访问层绕着业务逻辑设计,性能提高了,可"高内聚"这一原则又说不过去了 很是郁闷, 各位发表一下对三层架构的使用心得,以及看法等 有资料发到 joke.he@163.com 重谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
58 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xubaoduo_77
2009-03-11
打赏
举报
回复
很不错.人很多嘛.心德是有的,但是已经没地方说了,呵.
「已注销」
2009-02-27
打赏
举报
回复
现在在看设计模式的教程,很不错,就是有点长,
很有启发
伤寒泪
2009-02-26
打赏
举报
回复
在数据访问层不可能不带一丁点的业务逻辑,当然这个也要看如何来看。。
比如,将ResultSet里的东西给一个对象,那这个时侯其实还是属于业务逻辑层的范畴,不是纯粹的数据层的范畴
所以,具体问题还得具体分析。
lsfv00011
2009-02-26
打赏
举报
回复
但要什么菜都能洗的前提就是洗菜这个组件的代码量肯定会大,毕竟要有很多的逻辑判断,例如菜品分类等,自然就会影响到性能
所以又要用到接口来实现工厂.
接口统一洗菜.
至于新加了菜.临时加一个实现了洗菜接口的实现就可以了。
模式越来越多.
需不需要.还是看具体情况.
NOYISUPER
2009-02-25
打赏
举报
回复
怎么不能修改帖子,我郁闷
突然觉得上面说的偏题里
高内聚是指这个功能模块的高度聚集,就是例如洗菜这个步骤的所有细节全部聚集在洗菜这个组件里,这就是高内聚
而洗菜这个组件什么菜都能洗那就是低耦合
但要什么菜都能洗的前提就是洗菜这个组件的代码量肯定会大,毕竟要有很多的逻辑判断,例如菜品分类等,自然就会影响到性能
所以,还是要提倡我们中国伟大的——————当当当当
中庸…………
平衡就好,平衡就好
emenwin
2009-02-25
打赏
举报
回复
对于小项目来说 三层的性能并不好。数据访问层包括业务逻辑层都会有楼主所说的‘浪费’的内容
三层主要是方便大项目开发程序员之间的协作 方便后期的修改
NOYISUPER
2009-02-25
打赏
举报
回复
分层的作用说白话就是把要做的事分成几步
比如炒个菜要买菜--洗菜--切菜--炒菜
假如买菜就是DAL层
那么我把洗菜切菜炒菜啥的工作形成模式后
不管我买的是大白菜还是小黄瓜,洗菜,切菜--炒菜这几个步骤都不需要重新更改
同理,我换个方法洗菜啥的意思也一样
分层就是把工作程序细分,同类型的相近的工作分在一起,那么我哪部分工作要改动,就只改那个步骤就是了,不需要改动其他步骤
。。。。。。。。。。。。感觉越说越白菜,不说了……一家之言……
xxxswl
2009-02-25
打赏
举报
回复
真的是有点对不住楼主 本菜鸟上面的回答是错的 仅仅贴点边
希望现在说的东西是对的 哈哈
我认为 :3层架构 是基于面向对象的 那么必须掌握面向对象这一伟大的想法 才能得心应手
如果能做到2点 相信 “3层架构”的神秘面纱会自然解开
1。熟练使用一种OOP语音
2。真正了解 设计模式 要表达的思想
koukoujiayi
2009-02-24
打赏
举报
回复
谈谈我用三层:
1.vs2005中强类型的DataSet就是微软真对三层中的DAL层的,
强类型的DataSet集中所有sql语句,且所见即所得,
功能非常干净,(没有任何一点业务逻辑),即该层就是访问数据库的!!
2.页面提倡用ObjectDataSource,这个ObjectDataSource既可以直接连DAL层,
也可以连用户的中间层,也就用户的业务逻辑,非常灵活!!
3.不用ObjectDataSource,也可用传统的方法实例化强类型的DataSet中的类!
我觉的比传统的三层要好许多,编层的代码量几乎减少一半!当然也有一些限制,
这些限制三言两语很难讲清楚,这里从略了,
楼主不妨试试!!
「已注销」
2009-02-24
打赏
举报
回复
顶起来
mjjzg
2009-02-23
打赏
举报
回复
去瞧一下MVC的利与弊
简单的说,三层架构的优点:
1.在开发项目的时候开发人员只需要注重整个架构中的某一层
2.可以很简单的用新的实现替换掉旧的实现
3.可以降低层与层之间的依赖
4.有利于标准化
5.利于各层逻辑的复用
即:分散关注,松散耦合,逻辑复用,标准定义
而至于缺点
1.降低了系统的性能
2.有时候会导致级连的修改
以上纯属个人经验说述,楼主也可以上网找一下它的利与弊
俗话说"金无足赤,人无完人",所以分层史的结构也不可避免的会有一些缺陷了.......
「已注销」
2009-02-23
打赏
举报
回复
顶一下
jlj84237485
2009-02-23
打赏
举报
回复
帮顶一下
xxxswl
2009-02-23
打赏
举报
回复
[Quote=引用 35 楼 lsfv00011 的回复:]
引用 31 楼 xxxswl 的回复:
我是个菜鸟:对三层架构 感觉很肤浅
三层架构 就是因为 项目的规模比较大 代码很多 一个类放不下 3-5个类也放不下
就把功能类似或着在同一开发阶段的类放到一起 于是“层”就出现了
本菜鸟眼里 层的优点就一个:方便管理 和 维护
我也没学多久.但感觉此观点不妥.
不是放不下.代码多的原因.
只是给刚刚学的讲下.别让不妥观点,让自己走弯路.自己就走了很多弯路。
会了基本语法后.确实…
[/Quote]
谢谢拉 我这就去 补充一下设计模式的知识
scy251147
2009-02-22
打赏
举报
回复
mark
yanlongwuhui
2009-02-21
打赏
举报
回复
[Quote=引用 27 楼 lsfv00011 的回复:]
概念需要计较。
如果你项目小.那和概念计较不计较没关系。而是你要调整你的概念。很小项目,只需要2层.那么这也是一个概念。
[/Quote]
只要明确分层的目的,该2层就两层,该3层就3层,很多时候还需要分多层
lsfv00011
2009-02-21
打赏
举报
回复
数据访问层划分就是接口思想。
应付不同数据库是一种可能。
还有比如从sql语句.转到存储语句.原来的sql方案不变.加一个存储的方案.如果有接口的话.只要更改配置使用新的方案.
有接口的话,也可以很好应对分布开发的需求。
CloneCenter
2009-02-21
打赏
举报
回复
数据访问层本来就是只是负责和数据库之间的处理,如果从严格意义上来说,是不应该有业务逻辑的处理的。划分出数据访问层,只是为了将数据库种类的不同,使用不同的数据访问层而已,某种意义来说,是为了应付不同的数据库系统的。
分层多了,速度就会下降,效率就不会多高。如果系统追求速度,很多需要和数据打交道的东西,可以放到数据库中去处理,例如各业务数据之间的关系,数据有效性判断,都可以这样实现。
「已注销」
2009-02-21
打赏
举报
回复
谢谢各位啊
lsfv00011
2009-02-21
打赏
举报
回复
概念需要计较。
如果你项目小.那和概念计较不计较没关系。而是你要调整你的概念。很小项目,只需要2层.那么这也是一个概念。
加载更多回复(38)
[原创] 《刀塔传奇》研究报告
游戏类型:手游游戏/平板游戏
设计
类型:【系统/框架/
思路
/玩法】 【功能/模块/UI】 【数值/经济系统/付费】 【关卡/任务/新手引导】 【社交/体验/玩家心理】 新增word格式档案和思维导图,见最下方。(2014-3-27) 目录 一、简述:... 5 二、整体框架分析:... 6 三、核心系统分析:... 8 1.
电商推荐系统论文:基于Spark机器学习的电商推荐系统的
设计
与实现,大数据电商推荐系统毕设论文,Spring MLlib电商推荐系统
毕 业 设 计(论 文) 题 目: 基于Spark机器学习的电商推荐系统的
设计
与实现这是我去年本科毕业时做的毕业
设计
论文,全文三万多字,知网查重对重复率1%,由于本科论文不会被发表到知网上,再加上我已毕业近一年,现在将论文发表到CSDN。如有需要做毕设论文可引用本文对内容,先到先得(内容纯原创,少有重复)。由于作者对水平有限,文章中难免有错误对内容或作者对相关技术有错误对见解,望读者予以谅解,谢谢!接上篇文章:电商推荐系统(下):实时推荐服务、实时框架、实时推荐算法、获取用户的K次最近评分、商品推
华为的人才体系:任正非这样管理19万员工
点击上方 "程序员小乐"关注,星标或置顶一起成长每天凌晨00点00分,第一时间与你相约每日英文To live a beautiful...
哲理故事三百篇[转]
1、一只火鸡和一头牛闲聊,火鸡说:我希望能飞到树顶,可我没有勇气。牛说:为什么不吃一点我的牛粪呢,他们很有营养。火鸡吃了一点牛粪,发现它确实给了它足够的力量飞到第一根树枝,第二天,火鸡又吃了更多的牛粪,飞到第二根树枝,两个星期后,火鸡骄傲的飞到了树顶,但不久,一个农夫看到了它,迅速的把它从树上射了下来。 生存之道1:牛屎运让你达到顶峰,但不能让你留在那里。 2、乌鸦站在树上,整天无所事事
哲理故事三百篇
1、一只火鸡和一头牛闲聊,火鸡说:我希望能飞到树顶,可我没有勇气。牛说:为什么不吃一点我的牛粪呢,他们很有营养。火鸡吃了一点牛粪,发现它确实给了它足够的力量飞到第一根树枝,第二天,火鸡又吃了更多的牛粪,飞到第二根树枝,两个星期后,火鸡骄傲的飞到了树顶,但不久,一个农夫看到了它,迅速的把它从树上射了下来。 生存之道1:牛屎运让你达到顶峰,但不能让你留在那里。 2、乌鸦站在树上,整天无所
C#
111,125
社区成员
642,540
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章