美文网首页
三层架构3-tier architecture

三层架构3-tier architecture

作者: 大龙10 | 来源:发表于2020-10-12 05:55 被阅读0次

三层架构3-tier architecture

一、什么是三层?

  首先要知道三层不是一项实际的技术,他是一种设计软件的思想。这种思想就是把软件分为三层、或者说三个类,分别是表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。分层的目的是为了高内聚,低耦合、便于更改维护。

  每个层各司其职、相互只是调用关系、这样好处就是如果要更改界面、那就改UI层、其他层都不用动、或者以后软件换数据库、那么改DAL层就好。这些其实都是面向对象思想、分层思想,本质就是减少联系、做到可更换,不用一点坏了就要换全部、分层就是这种思想。

二、三层功能

1、表现层(UI):

  通俗讲就是展现给用户的界面,他担当者接受用户信息和给用户显示用户信息的功能,即用户在使用一个系统的时候他的所见所得。

2、业务逻辑层(BLL):

  针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理、最明显的就是三大语句、判断、循环、多分支、这个一定是在逻辑层的。

3、数据访问层(DAL):

  该层所做事务直接操作数据库,针对数据的增添、删除、修改、更新、查找等。

三、结构体系

  三层架构的体系结构:

  • 表示层和业务逻辑层之间用对象模型的实体类对象来传递数据,
  • 业务逻辑层和数据访问层之间用对象模型的实体类对象来传递数据,
  • 数据访问层通过.NET 提供的 ADO.NET 组件来操作数据库,或者利用 SQLServer 数据库服务器的存储过程来完成数据操作,
      三层架构的体系结构如图所示。


四、优点:

1、解耦。

  上一层只依赖于下一层,如果测试下一层没有问题,那么问题就只可能出现在本层了。便于发现和改正BUG。

2、简化复杂问题。

  就比如tcpip协议的四层模型或OSI七层模型,各层分工明确,将一个复杂问题简化了。

3、便于系统维护/升级。

  各层间通过接口解耦,接口与实现分离,从而可以非常方便的替换掉实现,或者升级实现等。

4、逻辑复用。

  例如原来基于B/S开发的程序现在要改成C/S,那么只要业务层的接口没有改变,那么业务层和数据层都可以直接复用。在如,只要数据访问层接口不变,那么使用便可以有对不同数据库的实现。

5、有利于标准化。

  便于团队开发。只要各层接口在开发前规定好,那么各层可以独立开发,进化或维护。

6、方便部署。

  将各层开发成组件,则可以独立部署。

7、安全性高。

  用户端只能通过业务逻辑层来调用数据访问层,减少了入口点,把很多危险的系统功能都屏蔽了。

五、缺点:

1、降低了系统的性能。

  这是不言而喻的。如果不采用分层式结构,很多业务可以直接造访数据库,以此获取相应的数据,如今却必须通过中间层来完成。

2、有时会导致级联的修改。

  这种修改尤其体现在自上而下的方向。如果在表示层中需要增加一个功能,为保证其设计符合分层式结构,可能需要在相应的业务逻辑层和数据访问层中都增加相应的代码

3、增加了代码量

  增加了工作量

六、参考资料

1、https://blog.csdn.net/u010191034/article/details/24588675
2、百度百科

相关文章

  • 三层架构3-tier architecture

    三层架构3-tier architecture 一、什么是三层?   首先要知道三层不是一项实际的技术,他是一种设...

  • MVC与三层架构

    三层架构和MVC 三层架构 (3-tier application) 是将整个业务应用划分为:表现层(UI)、业务...

  • Android Source Dir Architecture

    Android Source Architecture 相信各位对于Android系统架构图的三层或四层结构已经了...

  • Android基本架构搭建

    类似Bob大叔的clean architecture ,一种更清晰的架构,clean way,分为三层,prese...

  • Bloc架构-翻译

    原文bloc-architecture Bloc 架构 使用Bloc允许我们将应用分为三层: Data 数据层Da...

  • 软件架构详解(附图)

    软件架构(software architecture) 软件架构(software architecture)是一...

  • MVVM+JetPack

    # 概念 ## Architecture(架构组件) Architecture指的是架构组件,帮助开发者设计稳健、...

  • 安卓架构指南

    Architecture Guidelines 安卓架构指南 The architecture of our An...

  • Sonar关键指标计算

    Architecture 1. Architecture---Total Quality Plugin 架构质量 ...

  • Ansible

    运维工作 Ansible Architecture 架构简单 架构扩展

网友评论

      本文标题:三层架构3-tier architecture

      本文链接:https://www.haomeiwen.com/subject/dzwepktx.html