关闭

三层架构

标签: 架构
185人阅读 评论(10) 收藏 举报
分类:

三层架构概述

三层分为物理上的三层和逻辑上的三层,物理上的三层包括:客户机(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、增加了代码量,增加了工作量。
每一种模式都会有它的优势与不足,这是必然的。
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:20947次
    • 积分:3642
    • 等级:
    • 排名:第9284名
    • 原创:93篇
    • 转载:1篇
    • 译文:0篇
    • 评论:1307条
    最新评论