比如DataSet ds = dal.GetList(1, "a.ASid='" + sid + "'", "id desc");跳过DLL层直接调用DAL,有什么缺点呢
DAL只负责数据的存储、查询工作;
BLL 会使用一个到多个 DAL 来实现业务逻辑,这样就对上层屏蔽了 DAL ,而只要知道如何同 BLL 交互就行。
能举个bll使用多个DAL的例子吗,一般不就是一个dal对应一个dll吗,直接调用dal有什么不安全之类的吗
我感觉,DLL层是为了写逻辑代码用的,
现在好多人把逻辑代码全都写在了UI层,所以把DLL层空闲了下来,
所以感觉DLL层没什么用,可以用UI层直接调用DAL层,
嗯,一直就是这样直接调用DAL层,现在还是不理解用bll有嘛用,感觉多余
@hfbz: 比如这么说吧,现在要做一个登陆功能,
UI层的任务是显示页面,以及与用户间的数据交互,
DAL层是操作数据库,这没什么好说的,
但是UI层拿到数据以后,DAL层去数据库里查看,
DLL层就负责比较用户名与密码,并且得出最后的结果,是否登陆成功,然后反回给UI层,再显示
所以流程应该是
UI层得到数据>DLL层告诉DAL层需要操作的数据>DAL层查询数据反回给DLL层>DLL层做出相应的业务逻辑判断,把结果反回给UI层>UI层显示信息
dal层是对你要操作对象的封装处理(比如:news,login):将这两张表独立建类news.cs,login.cs;独立类中进行数据库操作处理,尽可能添加处理方法,减少修改,删除。符合开放封闭原则。作用:具体管理数据,降低耦合。
dll(业务逻辑层或问题领域层):是对业务的处理,如果小程序没必要,直接调用dal就行。数据程序大了,增加业务逻辑会减轻很多东西。作用;负责问题,业务抽象实现和功能实现。比如:你需要抽象类,要用工厂模式,适配器等,在UI层操作会很混乱,就用到dll了,还是非常重要的
备注:dal与ui层之间还有一个sI层(系统交互层),负责封装硬件的具体交互接口。这样就形成了四层架构了
分工问题, 不要BLL,你的逻辑将直接写在 UI里,将很混乱、臃肿。
你知道为什么么 ???
因为这样写可以随大流,因为这样写,大家不会认为你标新立意,因为这样子写,可以让刚进公司的人看了半天也不明白以前的人
写的代码究竟是什么意思…… 这样的话,可以凸显自己的能力有多高……
而且现在IT打哈哈的人太多了……这样子写,不管究竟有没有真正地解耦,不管真的有没有起来修改一处,不会牵扯万处的作用,不管这样子,是不是究竟地起来到作用^
弱弱的问下,不是 叫 BLL 吗?