三层总结

来源:互联网 发布:桌面中考倒计时软件 编辑:程序博客网 时间:2024/04/27 13:31

前言:

三层架构(3-tier architecture) 通常意义上的三层架构就是将整个业务应 划分为表示层(UI)、业务逻辑层(Business Logic Layer)、数据访问层(Data access layer)。区分层次的目的即为了“高内聚低耦合”的思想。从下至上分别为:数据访问层、业务逻辑层(又或称为领域层)、表示层。

三层结构:


各层作用:

UI:1)向用户展现特定业务数据;2)采集用户的输入信息和操作。
BLL1)从DAL中获取数据,以供UI显示;2)从UI中获取用户指令和数据,执行业务逻辑;3)从UI中获取用户指令和数据,通过DAL写入数据源。
DAL1)从数据源加载数据(select);向数据源写入数据(insert/update);3)从数据源删除数据(delete)。

各层依赖关系

表示层引用业务逻辑层,业务逻辑层引用数据访问层,表示层不能直接引用数据访问层,而是通过业务逻辑层间接地引用数据访问层,并且它们之间不能反向引用。也就是说,业务逻辑层是整个三层的核心内容,分层的原理就是在客户端和数据库之间加一个“中间层”,对数据的访问起到一个承上启下的作用。两者的访问都是通过中间层进行的,不能直接联系。

三者之间的依赖关系的体现: 
数据访问层的类,直接访问数据库,实现基本记录操作。
业务逻辑层的类,调用相关的数据访问类,实现用户所需功能。
界面层:部署控件后,调用业务逻辑层的类,实现功能。

各层间数据传输方向:


实例:
其中LoginModel是:业务数据模型,负责从顶层向底层传递数据。

三层设计的优缺点:

优点:
1、开发人员可以只关注整个结构中的其中某一层; 
2、可以很容易的用新的实现来替换原有层次的实现; 
3、可以降低层与层之间的依赖; 
4、有利于标准化; 
5、利于各层逻辑的复用。 
缺点:
1、降低了系统的性能。如果不采用分层式结构,很多业务可以直接造访数据库,以此获取相应的数据,如今却必须通过中间层来完成。 
2、有时会导致级联的修改。这种修改尤其体现在自上而下的方向。如果在表示层中需要增加一个功能,为保证其设计符合分层式结构,可能需要在相应的业务逻辑层和数据访问层中都增加相应的代码。 

0 0
原创粉丝点击