BLL层是什么,哪些代码应该划归BLL层

jxwangjm 2013-03-03 08:49:21
通常一个公司采购分为请购和采购两部分,而采购单通常由程序根据请购单和报价单自动生成。

首先不管是界面层还是DAL层,都不可避免需要使用数据模型层,
如果采用物理分层模式,即么数据模型层将需被各物理层引用

这个自动生成程序应该划归为BLL层,但是如果完全脱离DAL层,该程序不能完成所有任务,比如采购单编号无法生成

DAL层从界面脱离其中好处很明显,比如安全性,还有就是建立专门DAL服务器,可以减少数据服务器负担

单独建立BLL层,而且限定UI层只能访问BLL层似乎没有什么好处,除了增加麻烦外
有谁能列举一些BLL单独建层的好处
...全文
1596 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
jxwangjm 2013-03-08
  • 打赏
  • 举报
回复 1
3.MVC基本上不能和UI,BLL,DAL对应起来 比如说:M相当于业务规则,而看不到你所说的"Module" ----------------------- 业务规则可以说是数据的变化规则,而数据就是所谓Module 又比如:MVC中的设计时刻没有UI,UI是运行时刻由MVC三个部分配合,动态渲染的 ----------------------- MVC可以说是UI的具体实现方式之一
jxwangjm 2013-03-08
  • 打赏
  • 举报
回复
比如采购单编号生成. 由DAL提供以前的最大采购单编号.和编号是否已存在. Bll可以处理下.比如+1.比如加前缀时间什么的.再传给UI. 反过来.UI传编号进来.Bll可以处理下再传给DAL保存. ------------------------------------------------ 如果BLL与DAL物理分层,那么其中开发效率及运行性能都大大降低 但是好处在哪
jxwangjm 2013-03-08
  • 打赏
  • 举报
回复
比如采购单编号生成. 由DAL提供以前的最大采购单编号.和编号是否已存在. Bll可以处理下.比如+1.比如加前缀时间什么的.再传给UI. 反过来.UI传编号进来.Bll可以处理下再传给DAL保存.
autoid1 2013-03-06
  • 打赏
  • 举报
回复
dal只提供数据库的数据和 把数据存数据库. 其他的归Bll. 比如数据之间的+-*/. 数据的传递.数据的处理.影响等. 比如采购单编号生成. 由DAL提供以前的最大采购单编号.和编号是否已存在. Bll可以处理下.比如+1.比如加前缀时间什么的.再传给UI. 反过来.UI传编号进来.Bll可以处理下再传给DAL保存.
缪军 2013-03-05
  • 打赏
  • 举报
回复
引用 5 楼 jxwangjm 的回复:
我只是想知道把BLL从DAL单独分离出来比BLL与DAL合并为一层有什么明显好处 在我看来,MVC架构模式中,M就相当于Module+业务规则
1.DAL是通用的,业务无关的,任何项目使用同一个DAL,就好比ADO.net,设计一次就够了; 2.MVC是设计模式,它是对职责分离的高度抽象,他不仅仅解决软件分层的问题 M:提供者 V:使用者 C:代理人 当多个子系统编织在一起的时候,各个角色是可以变换的, 所以说,一个在复杂的系统,终究可以分解成恒定三层的N个MVC子系统 3.MVC基本上不能和UI,BLL,DAL对应起来 比如说:M相当于业务规则,而看不到你所说的"Module" 又比如:MVC中的设计时刻没有UI,UI是运行时刻由MVC三个部分配合,动态渲染的
jxwangjm 2013-03-04
  • 打赏
  • 举报
回复
引用 4 楼 hello_code_com 的回复:
请购转采购这一过程不应该属于BLL,请购转采购应该算一个业务模块,一个业务模块就可以分UI(你要一个界面供用户进行请购转采购操作吧),BLL(请购转采购要有一些逻辑吧,比如什么样的请购单允许转采购之类的),DAL层(那就是操作数据库,比如把一些单的状态由请购单Update成采购单之类的操作)
其实任何操作都可以分作UI,BLL,DAL 我只是想知道把BLL从DAL单独分离出来比BLL与DAL合并为一层有什么明显好处 在我看来,MVC架构模式中,M就相当于Module+业务规则
jxwangjm 2013-03-04
  • 打赏
  • 举报
回复
我对所谓的业务逻辑有些不明白, 以我所举的采购单为例,请购单(类名qgd)类,采购单(类名cgd)类,它们应该不属于BLL 而请购单转采购单这一过程应该属于BLL 似乎仅仅因为只需修改表现层理由不充足,如果该代码同样属于DAL层,它同样只会影响到其所在类,而不会影响其他部分
gxingmin 2013-03-04
  • 打赏
  • 举报
回复
BLL层是业务逻辑层,一般说的三层结构包含:表现层-业务逻辑层-数据访问层 业务逻辑层看字面意思就知道,一般的业务逻辑在此层写,好处是,它跟表现层以及数据层分开,一旦业务有变化,只要接口没变就无需重新修改表现层,也不用修改数据层,只需修改业务逻辑层就可以了。
  • 打赏
  • 举报
回复
hello_code_com 2013-03-04
  • 打赏
  • 举报
回复
请购转采购这一过程不应该属于BLL,请购转采购应该算一个业务模块,一个业务模块就可以分UI(你要一个界面供用户进行请购转采购操作吧),BLL(请购转采购要有一些逻辑吧,比如什么样的请购单允许转采购之类的),DAL层(那就是操作数据库,比如把一些单的状态由请购单Update成采购单之类的操作)

13,189

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 分析与设计
社区管理员
  • 分析与设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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