日期:2014-05-20  浏览次数:20932 次

BLL层是什么,哪些代码应该划归BLL层
通常一个公司采购分为请购和采购两部分,而采购单通常由程序根据请购单和报价单自动生成。

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

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

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

单独建立BLL层,而且限定UI层只能访问BLL层似乎没有什么好处,除了增加麻烦外
有谁能列举一些BLL单独建层的好处

------解决方案--------------------
科普一下
------解决方案--------------------
BLL层是业务逻辑层,一般说的三层结构包含:表现层-业务逻辑层-数据访问层
业务逻辑层看字面意思就知道,一般的业务逻辑在此层写,好处是,它跟表现层以及数据层分开,一旦业务有变化,只要接口没变就无需重新修改表现层,也不用修改数据层,只需修改业务逻辑层就可以了。
------解决方案--------------------
请购转采购这一过程不应该属于BLL,请购转采购应该算一个业务模块,一个业务模块就可以分UI(你要一个界面供用户进行请购转采购操作吧),BLL(请购转采购要有一些逻辑吧,比如什么样的请购单允许转采购之类的),DAL层(那就是操作数据库,比如把一些单的状态由请购单Update成采购单之类的操作)
------解决方案--------------------
引用:
我只是想知道把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三个部分配合,动态渲染的 
------解决方案--------------------
dal只提供数据库的数据和 把数据存数据库.
其他的归Bll.
比如数据之间的+-*/.
数据的传递.数据的处理.影响等.

比如采购单编号生成.
由DAL提供以前的最大采购单编号.和编号是否已存在.
Bll可以处理下.比如+1.比如加前缀时间什么的.再传给UI.
反过来.UI传编号进来.Bll可以处理下再传给DAL保存.