三层架构初涉

来源:互联网 发布:厦门蓝象网络骗局 编辑:程序博客网 时间:2024/05/02 02:43

         学到三层架构这部分,在开始接触三层之前,会发出这样的疑问,究竟什么是三层架构呢?看下面这张图,这是三层架构——

                          

 


      这也是三层架构——

                 

      这同样还是三层架构——

                                  

      说到三层,我们首先要明确一下“”的概念。什么是“”呢?层就相当于一个黑盒子,我们不用知道它内部是怎么实现的,只需要知道如何去调用它就可以了,每层只与上下相邻的两层打交道,当一层内部由于技术变迁发生变化时,只要接口 不变,其它层不用做任何改变。当然三层架构除了优点之外,是有缺点的。它的缺点是使用三层后代码更多,工作量更大,相对而言系统也比较复杂。了解层的概念之后,我们来看一下具体什么是三层架构。 


      看了上面的图片,我们会发现,三层架构,即3—tier application,它是一种思想,主要是一种分层思想,而不是与某一种特定的技术所绑定在一起的某种东西。从概念上区分三层架构,是将这个业务应用划分为:表现层——UI、业务逻辑层——BLL、数据访问层——DAL三个层次。其中,这三个层次是依据其各自所属功能、负责区域的不同所划分的。而将一个系统整体区分层次的目的是为了“高内聚、低耦合”思想。而且分层之后灵活性提高了,也便于团队开发。下面呢我们来分别学习一下这三个层次。


     1、表现层(UI)也就是U层,通俗的讲就是展现给用户的界面,即用户在使用一个系统时的所见所得。

     作用:向用户展现特定业务数据;

           采集用户的输入信息和操作


     2、业务逻辑层(BLL):也就是B层,它是针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理。

     作用:从DAL中获取数据,以供UI显示用

                  从UI中获取用户指令和数据,执行业务逻辑

                  从UI中获取用户指令和数据,通过DAL写入数据源(BLL不具备访问数据源的能力,因此想要访问数据源必须通过DAL)

                 

     BLL的职责机制:

     UI ==> BLL ==> UI(UI提出请求,给BLL,BLL可以直接处理这件事,就自己处理了然后把结果传给UI)

     UI = => BLL = = > DAL = = > BLL= = >UIUI提出请求,收集一定的数据,传给BLL,BLL把请求转给DAL,DAL经过数据源访问/加工有转给BLL,BLL得到指令后把结果转给UI


     3、数据访问层(DAL):也就是D层,该层所做事务直接操作数据库,针对数据的增添、删除、修改、更新、查找等。

     作用:从数据源加载数据(Select)

           从数据源写入数据(Insert/Update)

           从数据源删除数据(Delete)


     三层的具体应用:

  • DAL只提供基本的数据访问,不包含任何业务相关的逻辑处理
  • UI只负责显示和采集用户操作,不包含任何的业务相关的逻辑处理
  • BLL负责处理业务逻辑。通过获取UI传来的操作指令,决定执行业务逻辑,在需要访问数据源的时候直接交给DAL处理。处理完成后,返回必要的数据给UI
 

      值得一提的是,U层(表现层)和D层(数据访问层)他俩就好像两个冤家,他们相互之间是"不说话的",所以没办法将业务正常的进行下去,所以二者之间缺少B层(业务逻辑层)进行交互。具体关于三层架构的学习才刚刚开始,要想更深入的了解架构的好处和思想,仅仅从理论的角度切入是远远不够的。因此要求我们不断的在实践中去体悟三层的思想。



      

 


原创粉丝点击