.net 三层架构

n8250 2007-03-01 10:05:24
在网上看到简单的三层架构如下:
DAL:数据访问,调用sql help基类,一个类对应一张表的操作,add insert update
Model:实体类
BLL:业务逻辑
WEB:表示层:

请问:
Model所其的作用是什么?不太明白.
BLL什么也没做,只是调用了一下DAL中的方法(仅一句),WEB中又调用BLL,为什么不直接在WEB中调用DAL中的方法?
每张表对应一个类,如果需要多表连接查询,怎么办(在这种架构下)?

我一般的做法:(也分三个项目,架构方面没什么经验)
数据操作:相当于sql help
业务:具体的一个方法,如通过sql查询出结果放到一个datatable中,所有方法全部是自己手写的,如果每张表一个类,我想有些表我不一定需要操作,再者,连接查询时,用不上,所以都是手写;
web:调用上面的,把datatable绑定到页面控件

请问我这种做法在项目中会不会有什么问题
...全文
486 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
creatdatabase 2011-03-27
  • 打赏
  • 举报
回复
Model:实体类
简单的来说,就是数据库的字段进行封装
chenwenya 2007-03-21
  • 打赏
  • 举报
回复
用短信猫做短信平台,比较稳定,不受网络安全影响,响应及时,适合一些重要的安全性高的业务需求,但是发送速度有限制,一般是800条/小时
sp短信通道发送速度快,但是由于接入的开发商很多,在服务器不多的情况下,必然会排队,有时繁忙时提交一条短信,第二天才能收到,而且网络不正常时,也会影响使用
建议一些管理软件用短信猫做短信平台
1.方寸GSM-Modem 短信平台

GSM-Modem 短信平台,无需联网,只需一台电脑,一个短信猫(或手机),一个短信开发接口,就可轻松建立短信服务器,可实现短信收发,短信互动等功能,一台电脑可以连接多个短信猫硬件,从而提高吞吐量。

2.方寸短信数据库接口(手机短信接口,短信二次开发控件)

通过本数据库接口,能使你现有的系统(如OA、CRM、ERP等系统)轻松实现无线办公功能,无论你用的是哪种开发语言(VB\VC\VFP\asp\jsp\java\pb\delphi...),只要你的系统能读写数据库即可对接!你仅需要在指定的表中添加记录,本接口程序就自动进行发送短信了,收到的短信会自动保存到数据库里,所以,您不需要了解任何有关数据通信方面的知识,就可实现手机短信的收发等功能!
电话:0755-25996144
联系人:陈先生
网址:http://www.fcwww.com
qq:393376247
chenz322556 2007-03-01
  • 打赏
  • 举报
回复
分层的优点
使用面向对象的多层结构进行开发,可以使系统结构和功能逻辑清晰明了,便于系统模块的拆分组合,让项目组成员容易明确项目目标,获得清晰的分工和责任,使整个程序开发过程有序可控,同时清晰的架构分层和模块划分,也是各对象间相互独立,保证了系统的可维护性和可扩展性,也便于开发人员在开发过程中及时发现错误原因,迅速明确错误位置,保证单元模块的开发质量,降低了导致系统集成错误的因素。
其实分层就跟你在一个类里面写方法的道理一样,如果一个方法太大,包含了太多的逻辑,肯定会让人摸不清头脑,所以,你就有可能把这个函数重构,会把这个大方法分成几个小方法,一来你的代码清晰了,自己和别人好看。二来重构出来的方法有可能给别的地方调用。
如果你觉得你的项目需要分层,就分层去做,否则就别分层。分层的主要目的就是为了降低维护成本,提高代码的可重用性,降低耦合度。层与层之间的分开有利于梳理信息流,同时也有利于分配任务。千万别为了分层而分层,那样会越分越乱。譬如,一个小型留言板,有必要分层吗。主要还是看实际需要。

每张表对应一个类,如果需要多表连接查询,怎么办(在这种架构下)?
可以再加一层Entity
DAL:数据访问,调用sql help基类,一个类对应一张表的操作,add insert update
Entity:(特殊)数据访问,调用sql help基类
Model:实体类(数据库表对象)
BLL:业务逻辑 调用DAL或者Entity类
WEB:表示层 调用BLL类
i三千 2007-03-01
  • 打赏
  • 举报
回复
web调用datatable没有什么错.但分层开发时,web层的人员知道你的datatable是什么内容吗?
所以这时候,他还是需要和DAL层的开发人员打交道才能够知道.

如果这时候的数据返回使用实体类的集合,那么他就不用向DAL开发人员询问.这时候系统会更严格更标准.因为数据返回有了一个明确的格式定义.
i三千 2007-03-01
  • 打赏
  • 举报
回复
BLL的作用相当于DAL层的一个代理,他的好处是,对DAL的重构,不会影响web层.
另外,有些业务比较复杂的系统,需要在BLL中进行一些运算,即一个BLL类中的内容,可能是由多个不同的DAL数据而来.
i三千 2007-03-01
  • 打赏
  • 举报
回复
Model:实体类

你看了应该明白,它相当于数据库表结构在程序中的一个映射.

对一个实体类实例的操作就相当于操作一条数据表记录.
他的作用是起到了各层之间数据传输对象的一致,相当于一种协议.
wangzhaoli1982 2007-03-01
  • 打赏
  • 举报
回复
真实的四层架构写,三层不好分工
SEYON 2007-03-01
  • 打赏
  • 举报
回复
耦合性太大,效率太低

62,047

社区成员

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

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

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

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