谈到三层,大家脑子里会立刻浮出:显示层(UI)、业务逻辑层(BLL)、数据訪问层(DAL。就是将整个业务应用划分为这三个层次。

         三层结构是基于模块化程序设计的思想,为实现分解应用程序的需求。而逐渐形成的一种标准模式的模块划分方法。目的是为了解耦合,也是就是实现“高内聚、低耦合”的思想。

初步认识三层架构_数据源

显示层UI

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

业务逻辑层BLL

针对详细问题的操作,也能够说是对数据层的操作。对数据业务逻辑处理。

数据訪问层DAL

该层所做事物直接操作数据库。针对数据的增删改查等

以下我们香葱一个样例来初步认识三层,帮助我们理解。

        我们知道,饭店里要有服务员、厨师、后勤人员。各个员工各司其职,服务员仅仅管接待客人。向厨师传递顾客的需求;而厨师仅仅管烹炒顾不同口味、不同特色的美食;后勤工作人员仅仅管提供美食原料。

初步认识三层架构_数据源_02

什么情况要我们不是必需使用三层呢?

1、业务逻辑简单的情况下不是必需使用。由于三层结构也是存在缺点的,不是不论什么时候使用都恰当。

2、没有真正的数据存储层,所以也就不须要訪问数据层。

那么什么情况下我们使用三层呢?

       抽象出业务逻辑层。当业务复杂到一定程度,数据存储到对应的数据库或独立的数据存储介质,须要使用三层。把数据訪问脱离开业务单独存在,把业务脱离开UI单独存在(UI仅仅须要呼叫业务訪问层实现和用户的交互)

通过学习王继斌老师的三层视频,初步认识了三层的作用。

各层的作用

 

作用

UI

向用户展现特点业务数据

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

 

BLL

DAL获取数据,以供UI显示用

UI中获取用户指令和数据。运行业务逻辑

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

DAL

从数据源载入数据(Select

向数据源写入数据(InsertUpdate

从数据源删除数据(Delete

三层架构的长处:

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

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

3、能够减少层与层之间的依赖

4、有利于标准化

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

相同他也有它的缺点和不足之处:

        代码量太多。运行速度慢。

所以他不适用于对运行速度很高的系统,会减少系统的性能,也会添加开发成本。

总结:

       以三层架构模式开发出来的软件,极大的添加了软件的可维护性,可是还要权衡利弊,看看是否须要用到它。