3层是建立在面向对象的基础上设计的,分层的最高原则是高内聚,低耦合。3层架构将数据层、利用层和业务层分离,业务层通过利用层访问数据库,保护数据安全,利于负载平衡,提高运行效力,方便构建不同网络环境下的散布式利用。
1、3层架构概述
物理分类:显示层、业务逻辑层、数据层
逻辑分类:UI、BLL+DAL、DB
2、甚么情况下使用3层架构?
业务复杂,需要独立数据存储。
3、3层的作用
3.1、显示层
UI的作用:向用户展现特定的业务数据;收集用户的输入信息和操作。
3.2、业务逻辑层
BLL的作用:从DAL中获得数据,供给UI显示用
从UI中获得用户指令和数据,履行业务逻辑
从UI中获得用户指令和数据,通过DAL写书数据源
3.3、数据访问层
DAL的作用:从数据源加载数据(Select)
向数据源写入数据(InsertUpdate)
从数据源删除数据(Delete)
4、具体利用原则
4.1、DAL只是提供基本的数据访问,不包括任何业务相干的逻辑处理
4.2、UI只负责显示和收集用户的操作,不包括任何的业务相干的逻辑处理
4.3、BLL负责处理业务逻辑。通过获得UI传来的操作指令,决定履行业务逻辑,在需要访问数据源的
时候直接交给DAL处理,处理终了后返回必要的数据给UI。
5、3层之间的依赖关系
数据访问层的类,直接访问数据库,实现基本记录操作。
业务逻辑层的类,调用相干的数据访问类,实现用户所需功能。
界面层:部署控件后,调用业务逻辑层的类,实现功能。
6、3层设计的优缺点
6.1、优点
1、开发人员可以只关注全部结构中的其中某1层;
2、可以很容易的用新的实现来替换原有层次的实现;
3、可以下降层与层之间的依赖;
4、有益于标准化;
5、利于各层逻辑的复用。
6.2、缺点
1、下降了系统的性能。如果不采取分层式结构,很多业务可以直接造访数据库,以此获得相应的数
据,如今却必须通过中间层来完成。
2、有时会致使级联的修改。这类修改特别体现在自上而下的方向。如果在表示层中需要增加1个功
能,为保证其设计符合分层式结构,可能需要在相应的业务逻辑层和数据访问层中都增加相应的
代码。
7、小结
刚刚开始学习3层的时候觉得很乱,渐渐的将思路理清了,在UI的类调用BLL类中的方法(或是函数),然后BLL类在根据UI传递过来的信息在调用DAL类中的方法(或函数),DAL类再根据BLL传递过来的信息再去访问数据源。