业务逻辑层BLL到底有什么用? 70
有点不太明白。应该怎么利用。。网上看了几个例子,BLL层都只是起一个简单的引用DAL方法的作用比如在DAL层中publicboolExists(intN_Id){...}...
有点不太明白。应该怎么利用。。
网上看了几个例子,BLL层都只是起一个简单的引用DAL方法的作用
比如在DAL层中public bool Exists(int N_Id){...}
然后在BLL层中public bool Exists(int N_Id){return dal.Exists(N_Id);}
然后在表现层再调用这个BLL层的Exists
为什么不在表现层直接调用DAL而要在当中中转一下??
谁比较理解的能为我解释一下么谢谢了。。 展开
网上看了几个例子,BLL层都只是起一个简单的引用DAL方法的作用
比如在DAL层中public bool Exists(int N_Id){...}
然后在BLL层中public bool Exists(int N_Id){return dal.Exists(N_Id);}
然后在表现层再调用这个BLL层的Exists
为什么不在表现层直接调用DAL而要在当中中转一下??
谁比较理解的能为我解释一下么谢谢了。。 展开
展开全部
bll层,又叫业务逻辑层,顾名思义,就是放置业务逻辑的地方
举个简单的例子,饭店的优惠方案,满100元就打9折,不满100不打折
web页面提供文本框等让员工输入金额,然后调用bll层的方法;
那bll层就是检查金额是否满100,再把实际金额调用dal层存入数据库;
dal就是把金额插入数据库,不检查
这样,如果哪天优惠方案变了,只要修改bll,重新编译bll,而别的地方不用动
之所以现在很多bll就一个简单的引用dal,1是因为作示例,没啥业务
2是写的不规范
另外要说的是:三层架构主要是用于团队开发,便于分工,比如张三做业务逻辑,他就不用去关心数据库类型结构等信息;李四做dal,他就不用关心业务逻辑;只要定义好bll和dal的接口就可以了
如果只是个人开发,或者比较简单的业务,用三层是浪费时间
现在网上很多代码都是为了分层而分层,是否要分层,要根据项目的具体情况而定,不能一一概而论。
举个简单的例子,饭店的优惠方案,满100元就打9折,不满100不打折
web页面提供文本框等让员工输入金额,然后调用bll层的方法;
那bll层就是检查金额是否满100,再把实际金额调用dal层存入数据库;
dal就是把金额插入数据库,不检查
这样,如果哪天优惠方案变了,只要修改bll,重新编译bll,而别的地方不用动
之所以现在很多bll就一个简单的引用dal,1是因为作示例,没啥业务
2是写的不规范
另外要说的是:三层架构主要是用于团队开发,便于分工,比如张三做业务逻辑,他就不用去关心数据库类型结构等信息;李四做dal,他就不用关心业务逻辑;只要定义好bll和dal的接口就可以了
如果只是个人开发,或者比较简单的业务,用三层是浪费时间
现在网上很多代码都是为了分层而分层,是否要分层,要根据项目的具体情况而定,不能一一概而论。
展开全部
BLL层全称是 Business Logic Layer
顾名思义,是业务层
换句话说,它是DAL(Data Access Layer,数据访问层)和UI(User Interface)层的连接桥梁.
既然称作业务层,必然有他的用处,不仅仅是一个中转的功能.
比如我要创建一个用户,可以用以下的逻辑表示:
namespace BLL
class 用户BLL
{
添加结果 AddUser(用户实体)
{
if(!检查用户名是否合法(用户实体.用户名))return 用户名非法;
if(!检查用户密码是否合法(用户实体.密码))return 密码非法;
if(!DAL.检查用户是否存在(用户实体.用户名))return 用户名已经存在;
int 新用户ID=DAL.添加用户记录(用户实体);
if(新用户ID>0)return 用户添加成功;
else reutrn 数据库访问出现错误!
}
}
但是在大部分没有严格要求的环境中,我们会习惯于把这些检查代码放在UI层,其实是不对的,从而造就了BLL层看起来就是一个中转的功能的错觉.
顾名思义,是业务层
换句话说,它是DAL(Data Access Layer,数据访问层)和UI(User Interface)层的连接桥梁.
既然称作业务层,必然有他的用处,不仅仅是一个中转的功能.
比如我要创建一个用户,可以用以下的逻辑表示:
namespace BLL
class 用户BLL
{
添加结果 AddUser(用户实体)
{
if(!检查用户名是否合法(用户实体.用户名))return 用户名非法;
if(!检查用户密码是否合法(用户实体.密码))return 密码非法;
if(!DAL.检查用户是否存在(用户实体.用户名))return 用户名已经存在;
int 新用户ID=DAL.添加用户记录(用户实体);
if(新用户ID>0)return 用户添加成功;
else reutrn 数据库访问出现错误!
}
}
但是在大部分没有严格要求的环境中,我们会习惯于把这些检查代码放在UI层,其实是不对的,从而造就了BLL层看起来就是一个中转的功能的错觉.
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1、BLL层全称是 Business Logic Layer
顾名思义,是业务层
2、它是DAL(Data Access Layer,数据访问层)和UI(User Interface)层的连接桥梁.
3、既然称作业务层,必然有他的用处,不仅仅是一个中转的功能.
创建一个用户,可以用以下的逻辑表示:
namespace BLL
class 用户BLL
{
添加结果 AddUser(用户实体)
{
if(!检查用户名是否合法(用户实体.用户名))return 用户名非法;
if(!检查用户密码是否合法(用户实体.密码))return 密码非法;
if(!DAL.检查用户是否存在(用户实体.用户名))return 用户名已经存在;
int 新用户ID=DAL.添加用户记录(用户实体);
if(新用户ID>0)return 用户添加成功;
else reutrn 数据库访问出现错误!
}
}
4、但是在大部分没有严格要求的环境中,我们会习惯于把这些检查代码放在UI层,其实是不对的,从而造就了BLL层看起来就是一个中转的功能的错觉.
顾名思义,是业务层
2、它是DAL(Data Access Layer,数据访问层)和UI(User Interface)层的连接桥梁.
3、既然称作业务层,必然有他的用处,不仅仅是一个中转的功能.
创建一个用户,可以用以下的逻辑表示:
namespace BLL
class 用户BLL
{
添加结果 AddUser(用户实体)
{
if(!检查用户名是否合法(用户实体.用户名))return 用户名非法;
if(!检查用户密码是否合法(用户实体.密码))return 密码非法;
if(!DAL.检查用户是否存在(用户实体.用户名))return 用户名已经存在;
int 新用户ID=DAL.添加用户记录(用户实体);
if(新用户ID>0)return 用户添加成功;
else reutrn 数据库访问出现错误!
}
}
4、但是在大部分没有严格要求的环境中,我们会习惯于把这些检查代码放在UI层,其实是不对的,从而造就了BLL层看起来就是一个中转的功能的错觉.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
看来你也是刚看三层,我结合我的经验给你讲讲吧
其实我们刚看三层的时候,BLL都是用来传递数据的,从表现层传过来参数,然后什么都没做,直接扔DAL去查询数据库,所以,我们都觉得BLL层不好用,我一开始也是这么觉得
但是吧,既然要求是这样,那就肯定有他的作用,其实,在小项目中,BLL确实没有用,不过,你要做个比较大的项目,不是单纯的查数据库,然后直接把数据库查出来的表直接显示在表现层上,而是你需要把查询出来的数据经过一下处理,比如百度贴吧的时间显示,当是当天的话,显示几点几分,当时好几天以前的,显示日期,而在数据库里,存的都是完整的日期,这样,这个时间的处理代码,你就可以方在BLL中处理,处理完了再返回给表现层
其实我们刚看三层的时候,BLL都是用来传递数据的,从表现层传过来参数,然后什么都没做,直接扔DAL去查询数据库,所以,我们都觉得BLL层不好用,我一开始也是这么觉得
但是吧,既然要求是这样,那就肯定有他的作用,其实,在小项目中,BLL确实没有用,不过,你要做个比较大的项目,不是单纯的查数据库,然后直接把数据库查出来的表直接显示在表现层上,而是你需要把查询出来的数据经过一下处理,比如百度贴吧的时间显示,当是当天的话,显示几点几分,当时好几天以前的,显示日期,而在数据库里,存的都是完整的日期,这样,这个时间的处理代码,你就可以方在BLL中处理,处理完了再返回给表现层
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
面向对象嘛 封装~
把 DAL层封装一下嘛,然后在Bll层 写业务逻辑
如果你有业务逻辑肯定就在Bll层实现啦
有了BLL 表现层就不依赖与 DAL层啦 DAL层的改动也不会影响到表现层
封装嘛就是这样 层越多 依赖的力度越细 当其中某个地方发生变化时影响最小
把 DAL层封装一下嘛,然后在Bll层 写业务逻辑
如果你有业务逻辑肯定就在Bll层实现啦
有了BLL 表现层就不依赖与 DAL层啦 DAL层的改动也不会影响到表现层
封装嘛就是这样 层越多 依赖的力度越细 当其中某个地方发生变化时影响最小
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询