程序员人生 网站导航

初识三层架构

栏目:框架设计时间:2015-04-07 08:13:13

   3层是建立在面向对象的基础上设计的,分层的最高原则是高内聚,低耦合。3层架构将数据层、利用层和业务层分离,业务层通过利用层访问数据库,保护数据安全,利于负载平衡,提高运行效力,方便构建不同网络环境下的散布式利用。


   1、3层架构概述

   物理分类:显示层、业务逻辑层、数据层

   逻辑分类:UI、BLL+DAL、DB

   2、甚么情况下使用3层架构?

   业务复杂,需要独立数据存储。

   3、3层的作用

    3.1、显示层

         UI的作用:向用户展现特定的业务数据;收集用户的输入信息和操作。

    3.2、业务逻辑层

         BLL的作用:从DAL中获得数据,供给UI显示用

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

                    从UI中获得用户指令和数据,通过DAL写书数据源

   3.3、数据访问层

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

              向数据源写入数据(InsertUpdate)

              从数据源删除数据(Delete)

   4、具体利用原则

              4.1、DAL只是提供基本的数据访问,不包括任何业务相干的逻辑处理

              4.2、UI只负责显示和收集用户的操作,不包括任何的业务相干的逻辑处理

              4.3、BLL负责处理业务逻辑。通过获得UI传来的操作指令,决定履行业务逻辑,在需要访问数据源的

                   时候直接交给DAL处理,处理终了后返回必要的数据给UI。

             

   5、3层之间的依赖关系

   数据访问层的类,直接访问数据库,实现基本记录操作。

   业务逻辑层的类,调用相干的数据访问类,实现用户所需功能。

   界面层:部署控件后,调用业务逻辑层的类,实现功能。

   6、3层设计的优缺点

      6.1、优点

              1、开发人员可以只关注全部结构中的其中某1层;

              2、可以很容易的用新的实现来替换原有层次的实现;

              3、可以下降层与层之间的依赖;

              4、有益于标准化;

              5、利于各层逻辑的复用。

     6.2、缺点

              1、下降了系统的性能。如果不采取分层式结构,很多业务可以直接造访数据库,以此获得相应的数

                 据,如今却必须通过中间层来完成。

              2、有时会致使级联的修改。这类修改特别体现在自上而下的方向。如果在表示层中需要增加1个功

                 能,为保证其设计符合分层式结构,可能需要在相应的业务逻辑层和数据访问层中都增加相应的

                 代码。

    7、小结

    刚刚开始学习3层的时候觉得很乱,渐渐的将思路理清了,在UI的类调用BLL类中的方法(或是函数),然后BLL类在根据UI传递过来的信息在调用DAL类中的方法(或函数),DAL类再根据BLL传递过来的信息再去访问数据源。

------分隔线----------------------------
------分隔线----------------------------

最新技术推荐