三层架构

三层架构概述

三层分为物理上的三层和逻辑上的三层,物理上的三层包括:客户机(PC)、应用服务器、数据库服务器。逻辑上的三层,是我们需要学习的,分为显示层、业务逻辑层、数据访问层。此外还需要用到实体层,它不属于三层中的任意一层,它是独立于其他三个层次的,只能供其他层次进行引用,但是不能引用其他的三个层次。


三层简介:

(1)数据访问层(DAL)

DAL的作用:向数据源加载数据(Select);向数据源写入数据(Insert/Update);从数据源删除数据(Delete)。

(2)显示层(UI)

UI的作用:向用户展现特定业务数据;采集用户的输入信息和操作。

(3)业务逻辑层(BLL)

BLL的作用:从DAL中获取数据,以供UI显示用;从UI中获取用户指令和数据,执行业务逻辑;从UI中获取用户指令和数据,通过DAL写入数据源。

BLL的职责机制:UI ->BLL ->UI;UI->BLL->DAL->BLL->UI

三层应用原则:

(1)DAL只提供基本的数据访问,不包含任何的业务逻辑;
(2)UI只负责显示和采集用户操作,不包含任何业务相关的逻辑处理;
(3)BLL负责处理业务逻辑,通过获取UI传来的用户指令,执行业务逻辑,在需要访问数据源的时候,直接交给DAL进行处理,处理完成后,返回必要数据给UI。

应该注意:DAL/BLL/DAL分别在不同的程序集(Assembly)中,各个层之间的引用关系为
UI->BLL->DAL
即:DAL所在程序集不引用BLL和UI; BLL需要引用DAL ;UI直接引用BLL,可能会间接引用DAL。

三层的具体工作流程:


如果哪一层需要变化,只需要更改该层,不需要更改整个系统。层析清晰,分工明确,每层之间的耦合度降低,是面向对象编程思想的重要应用。

综上,三层架构的
优势:1、结构清晰,耦合度降低;2、可维护性高,可扩展性高;3、利用开发任务同步进行;容易适应需求变化。
劣势:1、降低了系统的性能。这是很明显的,如果不采用分层式结构,很多业务可以直接造访数据库,获取相应的数据,如今却必须通过中间层来完成。
2、有时会导致级联的修改。这种修改尤其体现在自上而下的方向。如果在表示层中需要增加一个功能,为保证其设计符合分层式结构,可能需要在相应的业务逻辑层和数据访问层中都增加相应的代码。
3、增加了代码量,增加了工作量。
每一种模式都会有它的优势与不足,这是必然的。
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值