三层架构

       三层架构就是将整个业务应用划分为:表现层(UI,UserInterface)、业务逻辑层(BLL,Business Logic Layer)、数据访问层(DAL,DataAccess Layer)。

      下面我来为大家一一介绍这三层。

表现层(UI)

     定义:通俗讲就是展现给用户的界面,即用户在使用一个系统的时候他的所见所得。

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

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

     应用原则:只负责显示和采集用户操作,不包含任何的业务相关的逻辑处理。

业务逻辑层(BLL)

     定义:针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理。

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

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

                3、从UI中获取用户指令和数据,通过DAL写入数据源。

     应用原则:负责处理业务逻辑,通过获取UI传来的操作指令,决定执行业务逻辑,在需要访问数据源的时候直接交给DAL处理。完成后,返回必要数据给UI。

数据访问层(DAL)

     定义:该层所做事务直接操作数据库,针对数据的增添、删除、修改、查找等。

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

                2、向数据源写入数据(Insert/Update);

                3、从数据源删除数据(Delete);

                (即对数据的增删改查)。

     应用原则:只提供基本的数据访问,不包含任何业务相关的逻辑处理。

使用三层架构的好处

     1、开发人员可以只关注整个结构中的其中某一层;

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

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

   4、有利于标准化;

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

   6、结构更加的明确

   7、在后期维护的时候,极大地降低了维护成本和维护时间。

使用三层架构的弊端

   1、降低了系统的性能。这是不言而喻的。如果不采用分层式结构,很多业务可以直接造访数据库,以此获取相应的数据,如今却必须通过中间层来完成。

   2、有时会导致级联的修改。这种修改尤其体现在自上而下的方向。如果在表示层中需要增加一个功能,为保证其设计符合分层式结构,可能需要在相应的业务逻辑层和数据访问层中都增加相应的代码。

   3、增加了开发成本。

三层的使用

     学习了三层架构,发现三层架构有很多好处,就处处使用三层,这种做法是不正确的。有些时候使用三层,反而是一种浪费。以下情况不需要使用三层:a、业务逻辑简单;b、没有真正的数据存储层。当业务复杂,数据存储多的时候,需要考虑使用三层架构。

三层之间的关系

     UI->BLL->DAL

    DAL所在程序集不引用BLL和UI

    BLL需要引用DAL

    UI直接引用BLL,可能会间接引用DAL

    为了使三层之间调用更加方便,程序员加入了一个数据模型。

    数据模型:倾向业务逻辑层(BLL),在三层之间为了传输数据,不会引用任何一个程序集,其他程序集都会引用数据模型。避免三层之间乱引用。

总结

     完善的三层结构的要求是:修改表现层而不用修改逻辑层,修改逻辑层而不用修改数据层。

你可能感兴趣的:(架构)