三层的深入理解(BLL层的职责)

  对于一个稍微有点经验的写代码的人而言,分层是不陌生的。

  今天小组里面针对目前的三层式结构,各层的职责作了一定的探讨,并有一定的结果,记录之,以期后用。

  

  先看看,我们以前的结构(其实们们一共有四层)。

   UI:与用户交互的界面层---

   Fac层(外观层):对BLL 原子方法进行组合。

           BLL 层:最严谨的参数校验;为Fac层提供原子方法(原子性,是为了方便Fac组装业务);转发DAL层数据给Fac;

 

   DAL 层:数据访问层,只负责数据访问,不包含任何业务逻辑。

   

  这样做了近两年,我们发现:

  1. Fac中组装业务逻辑的方法,通常很长,为了代码可读性,我们通常分多个私有方法。但Fac层显得很臃肿。

       2. BLL层方法似乎只起了转发的功能。

 

  于是,我们开始讨论:是否将一些业务逻辑也放到BLL来做?即BLL层的方法,除了包含很原子的方法以外,也可以包含一些组装过的业务方法(这个组装过程以前是在Fac的)。经过讨论:

   我们认为:初步结构应该如下:

   Fac 中的一个方法,只体现业务主体流程,不包含实现(参数校验等);(对异常的处理);一个Fac方法,可以调用多种BLL类型的(多个)方法;

   BLL 包含原有的最简单、原子化的操作,同时可以对BLL对象相关的业务进行封装(新增)--可调用对应的DAL的多个方法;参数校验;数据返回无效时,throw 异常(交由FAC处理)

          DAL 和原来一致:负责数据访问。

   

   

  

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值