关于三层的问题~

xinlingdeai 2009-03-28 04:15:22
我想知道我既然用了三层
UI BLL DAL MODEL
那么我可以直接在UI引入DAL然后不经过MODEL传值直接进行数据库操作吗?

有的时候我认为一些简单的东西没必要经过这么多层弄的这么复杂.

但今天有人说如果我那样做是不对的。必须经过BLL,DAL,MODEL
要不我这样做三层只是一个空架子了。

我感觉反复用的那样.

偶而用的没必要这么麻烦吧

本人基础比较差忘高手给解释一下。
...全文
137 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
hhxx_cj 2009-03-29
  • 打赏
  • 举报
回复
这里有一篇文章是对

ASp.net 剖析三层架构
的文章,你可以看看,感觉还不错,希望对你有用

http://www.csdnit.com/showtopic-327.html
llainn 2009-03-29
  • 打赏
  • 举报
回复
同意 8 9 13 楼
szldk 2009-03-28
  • 打赏
  • 举报
回复
微型项目,这些都是扯蛋,
但是个项目用这个都不会浪费,
关键是好习惯能让人受用,
cj_angel001 2009-03-28
  • 打赏
  • 举报
回复
``具体看看项目需要啦..
yagebu1983 2009-03-28
  • 打赏
  • 举报
回复
三层开发是面向对象开发的一种体现。。。
pc_funning 2009-03-28
  • 打赏
  • 举报
回复
做小的东西,或者不打算再复用的话,三层不要求那么严格
如果是个大点的,还打算再复用,比如改改适用于其他的解决方案,那最好严格去按照三层
同时,如果很多人做这个一个项目的话,三层会使分工明确很多。
wylp_19 2009-03-28
  • 打赏
  • 举报
回复
三层架构 别管项目的大小 多用用它

熟悉之后 自然体会到它的好处

你应该还是学生吧 多练练没什么坏处

三层架构又不麻烦
ygxdsg119 2009-03-28
  • 打赏
  • 举报
回复
我认为没有业务逻辑的话,直接删除BLL层,但是Model是必不可少的。
举个实际中碰到的例子吧。
需求是:从数据库中取product表,显示到页面上,包括productName(产品名),createdTime(添加时间)。
createdTime是DateTime类型,现在要显示中文时间,要对数据操作后再绑定。
如果没有Model,那么就使用DAL返回DataTable给UI,之后呢?遍历DataTable的createdTime这个列,改成中文时间后绑定。
有Model,UI可以遍历List<product>,或者product[]之类,这样是不是更方便一点呢?
不要小看这一点点的方便,当一个项目扩大的时候,一点点方便就变成了大大的方便,而且用Model也比DataTable更容易理解,
增加了代码的读、维护性。
如果用.net framework3.5就更爽了,不用改变领域模型,呵呵
正宗熊猫哥 2009-03-28
  • 打赏
  • 举报
回复
每个公司都要自己一套的结构体系
在中国没几个公司能规范的用起来什么规范的结构体系。。别人说你错,说不定错的是他
syb1045 2009-03-28
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 orain 的回复:]
支持你,不必要那么教条,什么框架都有一个应用的范围,小项目里面运用三层是一个累赘,尤其是在没有任何业务逻辑可言的情况下。不要为了三层而三层,干那种为了一双不合适的名牌皮鞋而把脚给削掉的事情。当然,学习除外。
[/Quote]
  • 打赏
  • 举报
回复
那么我可以直接在UI引入DAL然后不经过MODEL传值直接进行数据库操作吗?


可以的 但是不规范 Model是用来对数据进行规范的

按照你的说话 BLL也不需要了 只需两层 UI 和DAL 可以
只不过是 将数据访问 单独写在一个类中
orain 2009-03-28
  • 打赏
  • 举报
回复
支持你,不必要那么教条,什么框架都有一个应用的范围,小项目里面运用三层是一个累赘,尤其是在没有任何业务逻辑可言的情况下。不要为了三层而三层,干那种为了一双不合适的名牌皮鞋而把脚给削掉的事情。当然,学习除外。
Airad 2009-03-28
  • 打赏
  • 举报
回复
我也在研究,做的简单点就把数据访问的做成一个类,拿数据时访问这个类,类再访问数据库。

当然要一直对这些数据操作才有意义,没有复用意义的数据访问不建议这么写。

三层结构是个好东西,不过并不意味着要一定要使用,最合适的才是最好的。
xinlingdeai 2009-03-28
  • 打赏
  • 举报
回复
还有UI层前台代码显示后台读取的字符串的时候应该用
LABER还是全局变量?
dengchenlu 2009-03-28
  • 打赏
  • 举报
回复
你项目小的话就没必要用三层了
如果项目大的话
你不用以后要改东西就麻烦了

62,268

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧