1、what(什么是三层?)
三层架构(3-tier application) 通常意义上的三层架构就是将整个业务应用划分为:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。区分层次的目的即为了“高内聚,低耦合”的思想。
表现层(UI):通俗讲就是展现给用户的界面,即用户在使用一个系统的时候他的所见所得。
业务逻辑层(BLL):针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理。
数据访问层(DAL):该层所做事务直接操作数据库,针对数据的增添、删除、修改、更新、查找等。
例子:饭店的这个例子很形象,很容易明白三层的结构以及所体现的思想。
饭店将整个业务分解为三部分来完成,每一部分各负其责,服务员只管接待顾客、向厨师传递顾客的需求;厨师只管烹炒不同口味、不同特色的美食;采购员只管提供美食原料;他们三者分工合作共同为顾客提供满意的服务,并且服务员、厨师、采购员三者中当任何一者发生变化时都不会影响到其他两者的正常工作,从而体现了三层结构各层之间的“高内聚,低耦合”特点。
2.why(为什么要用三层?)
有需求,才有创造,单层或是二层满足不了程序的需要,于是便有了三层,也就是三层拥有他们所没有的特点,也就是所谓的优点。
(二层)
其局限性:
一旦用户的需求发生变化,应用程序都需要进行大量修改,甚至需要重新开发,给系统的维护和升级带来了极大的不便;用户界面层直接访问数据库,会带来很多安全隐患。
三层优点:
1、开发人员可以只关注整个结构中的其中某一层;
2、可以很容易的用新的实现来替换原有层次的实现;
3、可以降低层与层之间的依赖;
4、有利于标准化;
5、利于各层逻辑的复用。3、when(什么时候用?)
答案显而易见,如果是小型系统,用二层和三层体会不出三层的优势,所以用那个都ok了,那么如果是大型系统,我们要做到“可扩展、可维护”,而不至于造成“牵一发而动全身”,我们要用到三层。
4、how(怎么用?)
下篇博客会以登录为例讲述三层应该怎么进行。