三层(似曾相识)

前言

在看视频之前已经查找过博客,了解了一下三层是什么,看完视频之后对三层的理解更深了一步,并且很喜欢这个词。那么什么是三层呢?为什么要学三层呢?三层都是哪三层?

三层

what?

三层

三层架构就是将应用划分为界面层(user interface layer),业务逻辑层(business logic layer),数据访问层(data access layer)。在软件体系架构设计中,分层结构是最常见,也是最重要的一种结构。

三层的划分:

物理:

  1. 显示层(用户至上,尽量简洁)
  2. 业务层
  3. 数据层

逻辑:

  1. UI——–不能直接跟DAL打交道
  2. BLL—–需要引用数据层
  3. DAL/DB—-拿机房系统来说,只需要负责验证登陆密码即可(数据库操作)

why?

什么情况下使用三层?

当业务复杂到一定程度上,当数据存储到达一个独立的存储介质后

目的是什么?

为了“高内聚低耦合”的思想,也就是为了实现我们的迪米特法则(LOD)

优缺点:

优点:

  1. 降低了层与层之间的依赖;
  2. 标准化;
  3. 利于各层逻辑的复用;
  4. 降低了维护成本和时间

缺点:

  1. 系统架构复杂,不适合小型项目,
  2. 降低了系统的性能(中间层的“中介”)
  3. 增加了开发成本

思维导图

三层

二层与三层

举个栗子:

  1. 我们之前做过机房收费系统,里面分为三块:学生,操作员,管理员。
    有些事务是可以学生直接找管理员的,比方说交费。这时候没有操作员这个媒介,就是二层;
    但是当学生多了,管理员可能就会迷糊了,不知道谁交费,谁没交,这个时候“中间层“操作员出来了,学生可以通过操作员完成这个请求,而“数据层”管理员也不会因为任务量大而乱套了。只需要最后将结果返回”中间层“操作员,让操作员将结果告知”显示层“学生即可。

  2. 拿我们的宿舍和酒店举例。宿舍是常住,而且人员都是固定的,没有那么繁琐的请求入住;而酒店则每天人来人往不同,时间人物需求都不同。所以宿舍就是人(显示层)和住宿(数据层)直接关联,也就是二层;而酒店则是人(显示层)与服务员(逻辑层)沟通,服务员操作程序(数据层)再告知客户有没有空房,以完成入住。

后记

三层是一个常用的架构。以后用于实践中,体会会更深的吧;
初步了解,只是相识~

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值