欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

后端三层架构

最编程 2024-02-10 22:45:40
...

分层架构是什么?

来源于后端开发一种分层的思想。
百科解释:三层架构(3-tier architecture)通常意义上的三层架构就是将整个业务应用划分为:界面层(User Interface layer)、业务逻辑层(Business Logic Layer)、数据访问层(Data access layer)。
区分层次的目的即为了“高内聚低耦合”的思想。在软件体系架构设计中,分层式结构是最常见,也是最重要的一种结构。微软推荐的分层式结构一般分为三层,从下至上分别为:数据访问层、业务逻辑层(又或称为领域层)、表示层。

为什么要分层? 避免当业务规模增加或者流量增大时只能对整体系统来做扩展。 分成之后可以把模块独立成一个系统。 优点:

  • 高内聚:简化系统设计,让不同层专注做某一模块的事
  • 低耦合:层与层之间通过接口交互,无需知道内部细节
  • 高复用
  • 扩展性:易横向拓展

本质:复杂问题简单化,单一职责原则让每层代码各司其职,高内聚低耦合实现层间交互, 提升代码可维护性和可拓展性

优点: 耦合性低,方便维护,可以利于分工协作,且代码重用性高
缺点: 使得项目架构变得复杂,对开发人员要求高

后端三层架构

后端三层结构:

1676900825985.png

  • 表示层(用户界面层):Controller 用户界面,负责和用户互动
  • 业务层(业务逻辑层): Service 实现业务逻辑
  • 持久层 (数据访问层):dao 直接操纵数据库
  • 数据库

与MVC结构对比

传统MVC架构可以看作是三层架构中的表现层再度分化成了控制、试图、实体三个部分。 1676900513440.png1676900488674.png

  • MVC是表现模式:不存在上下级关系,而是相互协作关系
    三层架构是典型的架构模式:分为上下关系,上层依赖下层 控制器完成页面逻辑,通过实体与界面通信

  • 三层架构是基于业务逻辑来分的,而MVC是基于页面来分的

MVC与后端三层架构共存

前后端分离下的MVC : 1676900755812.png

参考

(39条消息) 系统分层架构的全面解析_凌柚的博客-****博客_系统分层
五种常见软件架构(转载) - 知乎 (zhihu.com)