zoukankan      html  css  js  c++  java
  • 三层架构之基础知识

    一、概念

            1UI(表现层)

             通俗讲就是展现给用户的界面,即用户在使用一个系统的时候他的所见所得。用于接收用户输入的数据和显示处理后用户须要的数据。

            2BLL:(业务逻辑层)

             UI层和DAL层之间的桥梁。:针对详细问题的操作,也能够说是对数据层的操作,对数据业务逻辑处理。业务逻辑详细包括:验证、计算、业务规则等等。 

           3DAL:(数据訪问层)

             与数据库打交道。主要实现对数据的增、删、改、查。将存储在数据库中的数据提交给业务层,同一时候将业务层处理的数据保存到数据库

    二、原理

         用户的需求反映给界面(UI),UI反映给BLLBLL反映给DALDAL进行数据的操作,操作后再一一返回,直到将用户所需数据反馈给用户)

                                                                                        

    三、各层的作用 

              1、表示层

        主要表示WEB方式,也能够表示成WINFORM方式,WEB方式也能够表现成:aspx,假设逻辑层相当强大和完好,不管表现层怎样定义和更改,逻辑层都能完好地提供服务。

            2、业务逻辑层

        主要是针对详细的问题的操作,也能够理解成对数据层的操作,对数据业务逻辑处理,假设说数据层是积木,那逻辑层就是对这些积木的搭建。

              3、数据訪问层

        主要是对原始数据(数据库或者文本文件等存放数据的形式)的操作层,而不是指原始数据,也就是说,是对数据的操作,而不是数据库,详细为业务逻辑层或表示层提供数据服务.

    四、原则

        1、分层就意味着组建的逻辑分组。比如,对用户界面,业务逻辑和数据訪问组建应该使用不同的不同的层。

        2、在一个层内组建应该聚合的。如业务层组建仅应提供与业务逻辑相关的操作,而不是提供其它操作。

        3、在设计的每个层接口时要考虑好物理边界。假设通信跨越了物理边界,使用基于消息操作;否则使用基于对象操作。

        4、考虑使用接口类型(interface)来定义每层的接口。这将同意你创建该接口的不同实现,提高可測性。

        5、对于Web应用程序,在表示层和业务逻辑层之间实现基于消息的接口是一个好主意,即使这两层没有跨越物理边界。基于消息的接口更适合于无状态的Web操作。

             6最基本的就是不能跨层调用。各层之间通过參数来传递,也就是实体类。 

    五、三层架构的优缺点

    1)长处

       1、开发者能够仅仅关注整个结构中的当中某一层;

       2、能够非常easy的用新的实现来替换原有层次的实现;

       3、结构清晰,耦合度低;

       4、有利于标准化;

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

       6、结构更加的明白

       7、在后期维护的时候,极大地减少了维护成本和维护时间

    2)缺点

        1、减少了系统的性能。

        这是不言而喻的。假设不採用分层式结构,非常多业务能够直接造訪数据库,以此获取对应的数据,现在却必须通过中间层来完毕。

       2、有时会导致级联的改动。

        这样的改动尤其体如今自上而下的方向。假设在表示层中须要添加一个功能,为保证其设计符合分层式结构,可能须要在对应的业务逻辑层和数据訪问层中都添加对应的代码。

       3、添加了开发成本。

    六、与二层比較

       1、二层

                                                                     

       (当不论什么一个地方发生变化时,都须要又一次开发整个系统。“多层”放在一层,分工不明白耦合度高——难以适应需求变化,可维护性低、可扩展性低)

          2、三层:

                                     

     

       (发生在哪一层的变化,仅仅需更改该层,不须要更改整个系统。层次清晰,分工明白,每层之间耦合度低——提高了效率,适应需求变化,可维护性高,可扩展性高)

    七、与MVC比較

           1、概念不同

        三层架构是一个分层式的软件体系架构设计,它可适用于不论什么一个项目。

      MVC是一个设计模式,它是依据项目的详细需求来决定是否适用于该项目。

           2、目的不同

        三层架构的目的着重点是“高内聚,低耦合”,即解耦。

        MVC的目的则是实现Web系统的职能分工,即职责划分。

           3、层次不同

        MVC是Model-View-Controller,严格说这三个加起来以后才是三层架构中的WEB层,也就是说,MVC把三层架构中的WEB层再度进行了分化,分成了控制器、视图、实体三个部分,控制器完毕页面逻辑,通过实体来与界面层完毕通话;而C层直接与三层中的BLL进行对话。

     

     

  • 相关阅读:
    SAP OPEN UI5 Step 8: Translatable Texts
    SAP OPEN UI5 Step7 JSON Model
    SAP OPEN UI5 Step6 Modules
    SAP OPEN UI5 Step5 Controllers
    SAP OPEN UI5 Step4 Xml View
    SAP OPEN UI5 Step3 Controls
    SAP OPEN UI5 Step2 Bootstrap
    SAP OPEN UI5 Step1 环境安装和hello world
    2021php最新composer的使用攻略
    Php使用gzdeflate和ZLIB_ENCODING_DEFLATE结果gzinflate报data error
  • 原文地址:https://www.cnblogs.com/bhlsheji/p/4007215.html
Copyright © 2011-2022 走看看