三层结构的问题,BLL究竟应该做点什么? BLL,是不是操作数据的?例如。有一用户表。 DAL已经做好了。例如要取所有用户。BLL里调用DAL某一个方法。UI又调用BLL中的方法。这样太乱了吧?好像从地址那里取得了值,传给BLL。得到BLL中的返回? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 按照你所说的,BLL曾貌似业务逻辑层…… 如果BLL只是一个传话筒,那完全可以不要 Model,实现业务实体。IDAL,实现接口。SQLServerDAL,实现接口里的方法。增加web.config里的配置信息,为SQLServerDAL的程序集。DALFactory,返回程序集的指定类的实例。BLL,调用DALFactory,得到程序集指定类的实例,完成数据操作方法。WEB,调用BLL里的数据操作方法。 可能你的项目 需求小,,不是很复杂在一般大型项目里 BLL层 。。做的东西 很多~~ 是乱了呵呵。。我也有点郁闷,基本上我的业务逻辑也是在Dal层做的。。我的Bll层也就写了下日志。。try catch了一下。。呵呵,我的Bll也是可以完全不要的。。有点郁闷。。觉得自己也不太好把握尺度。。后来想想也是。。不要太拘泥于这个框架玩意。。 bll是逻辑层简单举个例子比如数据库性别是1,2画面上两种,A处要1,2;B处要男,女这些就可以在逻辑层处理这一种就可以在逻辑层处理 其实我一开始写业务层的时候也基本什么也没有就是new DAl().delete()什么的,但是我现在才知道,业务层还是很复杂的比如你要添加一条用户信息1.userInfo == null2.验证所有的字段是否通过验证,如长度啊,字段是不是为空啊,等等3.看用户名是否在数据库中存在和emmail是否符合标准,并且在数据库是否存在啊4.在插入数据库5.返回这只是一小部分 批个比方:一个留言板三层项目,DAL里已经完成了留言功能,和留言获取功能,此时添加一个业务需求,即:早上9:00以前不允许留言,那么这个逻辑判断即可写在BLL里了,明白否? bLL是业务逻辑层 要在里面写和数据库类操作的代码 DAL: 搬家AZ-100班机2009-7-27 8:00(厦门)-2009-7-2712:00(北京)BLL: a.你买机票了没? b.你的机票是不是AZ-10班次的? c.时间是不是2009-7-27 8:00的? ... bll是业务逻辑层,也可以理解为领域层,有很多的软件的开发是直接就是两层的表现层+数据操作层,虽然这种办法实现软件来的非常的快,但是 一旦软件的规模变大,或者是需求的变更,开发或变更、维护时很不方便。多了一层是要写很多的代码,但是相对于长远以及好处来看,多写一层还是值得的。 看了这个你就全懂了,很形象!趣味理解:三层架构与养猪—《.NET深入体验与实战精要》http://www.52aspx.cn/techblog/post/31.html Bll做业务逻辑的。是为了扩展性。如从SQL到MYSQL只需更换数据访问层。如从ASP转到c#也只用改变界面层。 DAL是数据层,主要提供一些操作数据库的类,实现底层的数据操作的方法。BLL业务逻辑层可以调用DAL里的类操作数据,在BLL层可以实现一些复杂的操作,实现所需求的业务逻辑。 请问一下SQL中货币类型(money)在C#中用什么类型表示最好? 请教:xml里鼠标事件target指定不到元素?? 跪求创新思想 ~~~ 关于母板页 头大,Datalist的用法不会,谁教我一上,我新手,感激不尽 [求助]Gridview或者detailsview里面使用fileupload 为什么在ASP.net里获取CPUID会出现这样的(少见)问题,? 请教一个特奇怪的问题???????? 高手们请指点指点小弟!!!!!! 发现一个怪问题,也许大家都用的着,不散分! 发布webapplication时怎样把aspx编译到dll里面 PetShop问题
IDAL,实现接口。
SQLServerDAL,实现接口里的方法。
增加web.config里的配置信息,为SQLServerDAL的程序集。
DALFactory,返回程序集的指定类的实例。
BLL,调用DALFactory,得到程序集指定类的实例,完成数据操作方法。
WEB,调用BLL里的数据操作方法。
简单举个例子比如数据库性别是1,2画面上两种,A处要1,2;B处要男,女
这些就可以在逻辑层处理
这一种就可以在逻辑层处理
new DAl().delete()什么的,
但是我现在才知道,业务层还是很复杂的
比如你要添加一条用户信息
1.userInfo == null
2.验证所有的字段是否通过验证,如长度啊,字段是不是为空啊,等等
3.看用户名是否在数据库中存在和emmail是否符合标准,并且在数据库是否存在啊
4.在插入数据库
5.返回这只是一小部分
搬家AZ-100班机2009-7-27 8:00(厦门)-2009-7-2712:00(北京)BLL:
a.你买机票了没?
b.你的机票是不是AZ-10班次的?
c.时间是不是2009-7-27 8:00的?
...
趣味理解:三层架构与养猪—《.NET深入体验与实战精要》
http://www.52aspx.cn/techblog/post/31.html
是为了扩展性。如从SQL到MYSQL只需更换数据访问层。
如从ASP转到c#也只用改变界面层。