谈到三层,大家脑子里会立刻浮出:显示层(UI)、业务逻辑层(BLL)、数据訪问层(DAL)。就是将整个业务应用划分为这三个层次。
三层结构是基于模块化程序设计的思想,为实现分解应用程序的需求。而逐渐形成的一种标准模式的模块划分方法。目的是为了解耦合,也是就是实现“高内聚、低耦合”的思想。
显示层UI | 通俗的讲就是展现给用户的界面。及用户在使用一个系统的时候他的所见所得 |
业务逻辑层BLL | 针对详细问题的操作,也能够说是对数据层的操作。对数据业务逻辑处理。 |
数据訪问层DAL | 该层所做事物直接操作数据库。针对数据的增删改查等 |
以下我们香葱一个样例来初步认识三层,帮助我们理解。
我们知道,饭店里要有服务员、厨师、后勤人员。各个员工各司其职,服务员仅仅管接待客人。向厨师传递顾客的需求;而厨师仅仅管烹炒顾不同口味、不同特色的美食;后勤工作人员仅仅管提供美食原料。
什么情况要我们不是必需使用三层呢?
1、业务逻辑简单的情况下不是必需使用。由于三层结构也是存在缺点的,不是不论什么时候使用都恰当。
2、没有真正的数据存储层,所以也就不须要訪问数据层。
那么什么情况下我们使用三层呢?
抽象出业务逻辑层。当业务复杂到一定程度,数据存储到对应的数据库或独立的数据存储介质,须要使用三层。把数据訪问脱离开业务单独存在,把业务脱离开UI单独存在(UI仅仅须要呼叫业务訪问层实现和用户的交互)
通过学习王继斌老师的三层视频,初步认识了三层的作用。
各层的作用
| 作用 |
UI | 向用户展现特点业务数据 採集用户的输入信息和操作
|
BLL | 从DAL获取数据,以供UI显示用 从UI中获取用户指令和数据。运行业务逻辑 行UI中获取用户指令和数据,通过DAL写入数据源 |
DAL | 从数据源载入数据(Select) 向数据源写入数据(Insert、Update) 从数据源删除数据(Delete) |
三层架构的长处:
1、开发者能够仅仅关注整个结构中的当中一层
2、能够非常easy用新的实现来替换原有层次的实现
3、能够减少层与层之间的依赖
4、有利于标准化
5、有利于各层逻辑的复用
相同他也有它的缺点和不足之处:
代码量太多。运行速度慢。
所以他不适用于对运行速度很高的系统,会减少系统的性能,也会添加开发成本。
总结:
以三层架构模式开发出来的软件,极大的添加了软件的可维护性,可是还要权衡利弊,看看是否须要用到它。