程序基础之三层架构详解

我们在编写程序时,最基本最常用的就是三层架构,那么关于三层架构,有些人肯定会有很多问题和不理解的地方,所以我们就根据问题来认识一下三层架构。

  1. 什么是三层架构
  2. 为什么要用三层架构
  3. 三层架构有什么优点缺点

1、什么是三层架构?

首先,我们要知道三层是哪三层,即“数据访问层”、“业务逻辑层”、“表示层”。

那么每层是干什么的呢:

数据访问层(DAL)其主要是访问数据系统中的文件,比如实现对数据库或文件中数据的读取保存操作
表示层(UI)主要功能是显示数据和接受传输用户的数据,提供与人的交互。
业务逻辑层(BLL)可以说是表示层和数据访问层的桥梁,从表示层得知用户的操作,然后根据操作从数据访问层获取数据进行相关操作再返回给表示层。

如果不理解,那我们举个生活中的例子—餐厅
三层架构类比餐厅

服务员就是专门和顾客直接交流的,为顾客点菜。而厨师只需要根据顾客点的菜来做,采购员只需根据顾客的菜准备食材,交给厨师即可。他们之间各自做各自的事。

而三层架构也正如此,表示层就相当于服务员,专门和用户打交道,获取用户的操作,业务逻辑层就相当于厨师,从数据访问层拿来数据,根据表示层传来的用户操作去执行操作,数据访问层就相当于采购员,用户需要什么数据,就从数据库或是文件中拿来此数据,交给业务逻辑层。这就很简单的理解了三层架构。

三层之间的关系如下:
三层间的关系


2、为什么要用三层架构

我们用三层架构的目的就是为了实现“高内聚低耦合”的思想。

什么是高内聚低耦合呢?简单地说就是程序结构中各模块的内聚程度要高,模块间的耦合程度要低。通俗的讲高内聚就是一件事尽量内聚到一个模块里,各个模块只完成自己的一件事;低耦合是指模块间尽量互不影响。这样如果一个模块出了问题,我们只需要对此模块进行检查和维护,不影响其他模块。
就像刚才餐厅的例子,服务员、厨师和采购员都只需要完成自己的事,如果顾客反映服务差,那只需要开除服务员,重新换一个即可,和厨师,采购员都不影响。这样就增强了程序的可重用性、移植性、可维护性等。


3、 三层架构有什么优点缺点

三层架构的优缺点我们和两层相比较就会很容易的看出来
两层
两层
"多层"放在一层,分工不明确,耦合度高——难以适应需求变化,可维护性低、可扩展性低。当任何一个地方发生变化时,都需要重新开发整个系统。对数据会直接访问和更改,安全性差。

三层
三层
层次清晰,分工明确,每层之间耦合度低——提高了效率,适应需求变化,可扩展性高。某层出现问题,只考虑某层即可,可维护性高。

综上,三层架构的优点:

  • 1、结构清晰、耦合度低
  • 2、可维护性高,可扩展性高
  • 3、利于开发任务同步进行, 容易适应需求变化
  • 4、增强可重用性、移植性

三层架构的缺点:

  • 1、降低了系统的性能。如果不采用分层式结构,很多业务可以直接造访数据库,以此获取相应的数据,如今却必须通过中间层来完成
  • 2、增加了代码量,增加了工作量

[1]:小白见解,如有不正,请谅解。

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值