后端三层架构
最编程
2024-02-10 22:45:40
...
分层架构是什么?
来源于后端开发一种分层的思想。
百科解释:三层架构(3-tier architecture)通常意义上的三层架构就是将整个业务应用划分为:界面层(User Interface layer)、业务逻辑层(Business Logic Layer)、数据访问层(Data access layer)。
区分层次的目的即为了“高内聚低耦合”的思想。在软件体系架构设计中,分层式结构是最常见,也是最重要的一种结构。微软推荐的分层式结构一般分为三层,从下至上分别为:数据访问层、业务逻辑层(又或称为领域层)、表示层。
为什么要分层? 避免当业务规模增加或者流量增大时只能对整体系统来做扩展。 分成之后可以把模块独立成一个系统。 优点:
- 高内聚:简化系统设计,让不同层专注做某一模块的事
- 低耦合:层与层之间通过接口交互,无需知道内部细节
- 高复用
- 扩展性:易横向拓展
本质:复杂问题简单化,单一职责原则让每层代码各司其职,高内聚低耦合实现层间交互, 提升代码可维护性和可拓展性
优点:
耦合性低,方便维护,可以利于分工协作,且代码重用性高
缺点:
使得项目架构变得复杂,对开发人员要求高
后端三层架构
后端三层结构:
- 表示层(用户界面层):Controller 用户界面,负责和用户互动
- 业务层(业务逻辑层): Service 实现业务逻辑
- 持久层 (数据访问层):dao 直接操纵数据库
- 数据库
与MVC结构对比
传统MVC架构可以看作是三层架构中的表现层再度分化成了控制、试图、实体三个部分。
-
MVC是表现模式:不存在上下级关系,而是相互协作关系
三层架构是典型的架构模式:分为上下关系,上层依赖下层 控制器完成页面逻辑,通过实体与界面通信 -
三层架构是基于业务逻辑来分的,而MVC是基于页面来分的
MVC与后端三层架构共存
前后端分离下的MVC :
参考
(39条消息) 系统分层架构的全面解析_凌柚的博客-****博客_系统分层
五种常见软件架构(转载) - 知乎 (zhihu.com)
推荐阅读
-
高并发、高流量网站架构(转)
-
5.DataX(DataX 简介、DataX 架构原理、DataX 部署、使用、将 MySQL 数据同步到 HDFS、将 HDFS 数据同步到 MySQL)(I)
-
使用 BERT 和 Milvus 快速构建对话机器人!-| 整体架构
-
2.5 Java 全栈开发前端 + 后端(全栈工程师进阶路径) - 前端框架 VUE3 - 基础 - Vue 路由 - 程序化路由
-
美团视觉 GPU 推理服务部署架构优化实践
-
美团业务架构图
-
美团系统架构 美团外卖架构
-
分析智能家居通信网络架构系统
-
基于智能电网全业务骨干光传输网络分层架构的通信网络需求预测 智能电网中的通信技术
-
国家电网泛在电力物联网分析--架构形式