一、前言
三层架构(3-tier architecture) 通常意义上的三层架构就是将整个业务应用划分为:界面层(User Interface layer)、业务逻辑层(Business Logic Layer)、数据访问层(Data access layer)。区分层次的目的即为了“高内聚低耦合”的思想。在软件体系架构设计中,分层式结构是最常见,也是最重要的一种结构。微软推荐的分层式结构一般分为三层,从下至上分别为:数据访问层、业务逻辑层(又或称为领域层)、表示层。引用百度
二、正文
1、显示层(UI):通俗讲就是展现给用户的界面,即用户在使用一个系统的时候他的所见所得,这里我就先简单的理解为主要就是软件的窗体界面类。
UI作用:
向用户展示现特定业务数据;
采集用户的输入信息和操作;
将有需要的信息在显示曾显示出来。
UI设计原则:用户至上,兼顾简洁
2、业务逻辑层(BLL):针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理。B层是联系U层和D层的桥梁,进行他们之间的数据交互。
作用:
从DAL中获得数据进行逻辑操做,以供UI显示用;
从UI中获得用户指令和数据,执行业务逻辑;
从UI中获得用户指令和数据,通过DAL写入数据源;
3、数据访问层(DAL):该层所做事务直接操作数据库,针对数据的增添、删除、修改、查找等。接受B层的命令,对数据进行处理。
作用:
从数据源加载数据(Select);
向数据源写入数据(Insert/Update);
从数据源删除数据(Delete);
将数据返回B层;
4、实体层(Enitity):贯穿于上面三层,在三层之间传递数据
好处:减少系统出错的可能,提高开发效率
三、优缺点总结
优点1、开发人员可以只关注整个结构中的其中某一层;
2、可以很容易的用新的实现来替换原有层次的实现;
3、可以降低层与层之间的依赖;
4、有利于标准化;
5、利于各层逻辑的复用;
6、拓展性强;
7、安全性高;
8、项目结构更清楚,分工更明确,有利于后期的维护和升级。
缺点
1、降低了系统的性能。这是不言而喻的。如果不采用分层式结构,很多业务可以直接造访数据库,以此获取相应的数据,如今却必须通过中间层来完成。
2、有时会导致级联的修改。这种修改尤其体现在自上而下的方向。如果在表示层中需要增加一个功能,为保证其设计符合分层式结构,可能需要在相应的业务逻辑层和数据访问层中都增加相应的代码。