三层架构

原创 2016年08月31日 11:24:29

三层架构概述

三层分为物理上的三层和逻辑上的三层,物理上的三层包括:客户机(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、增加了代码量,增加了工作量。
每一种模式都会有它的优势与不足,这是必然的。
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

三层架构和MVC的区别和联系

  • 2016年08月23日 15:16
  • 324KB
  • 下载

JAVA三层架构购物网站

  • 2015年04月21日 21:22
  • 2.14MB
  • 下载

C# 使用三层架构实例演示-winForm 窗体登录功能

数据库: 名称:threeLayer 表:

C# .net mvc 三层架构 增删改查

  • 2017年09月29日 16:57
  • 13.83MB
  • 下载

.net三层架构

  • 2014年10月30日 10:14
  • 176KB
  • 下载

从三层架构到MVC,MVP

从三层架构到MVC,MVP       本来是不想跳出来充大头蒜的,但最近发现园子里关于MVC的文章和讨论之风越刮越烈,其中有 些朋友的观点并不是我所欣赏和推荐的,同时最近也在忙着给公司里...

QQ三层架构项目

  • 2014年08月18日 00:34
  • 4.35MB
  • 下载

asp三层架构

  • 2013年06月01日 17:41
  • 3KB
  • 下载

【三层架构】——COM/DCOM初识

背景:在学习三层架构的时候,知道三层分为UI层(表现层)、BLL层(业务逻辑层)、DAL层(数据访问层),相对于传统的二层架构(客户端和数据库)来说,多了一个中间层BLL(业务逻辑层),处于UI层和D...

软件体系架构中的三层结构

  • 2013年09月30日 11:41
  • 128KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:三层架构
举报原因:
原因补充:

(最多只允许输入30个字)