了解三层架构:表示层、业务逻辑层、数据访问层

目录

背景:

三层架构

什么是三层:

分层的目的:

三层的结构关系​编辑

三层表现形式:​编辑

三层的优缺点:

总结:


背景:

三层架构是一种软件设计模式,可称为客户端-服务器-架构,把各个功能模块划分为表示层(UI)、业务逻辑层(BLL)和数据访问层(DAL)三层架构,各层之间采用接口相互访问,并通过对象模型的实体类(Model)作为数据传递的载体,不同的对象模型的实体类一般对应于数据库的不同表,实体类的属性与数据库表的字段名一致。

三层架构

什么是三层 :

表示层(UI):

用户交互的界面,位于最上层,用于显示和接收用户提交的数据,为用户提供交互式平台。表示层一般为Windows窗体应用程序或Web应用程序

业务逻辑层(BLL):

架构的核心,处理业务逻辑和规则,表示层和数据访问层之间的沟通桥梁,主要负责数据的传递和处理。
数据访问层(DAL):

负责与数据库或其他数据存储进行交互,实现对数据的读取、保存和跟更新等操作.

分层的目的:

"高内聚,低耦合的思想",表示在设计和开发软件系统时,应该使模块之间的关系更加紧密,同时避免模块之间的依赖性过于紧密,以便更好地实现系统的可维护性,可扩展性和可重用性

三层的结构关系

各层之间相互依赖,表示层依赖于业务逻辑层,业务逻辑层依赖于数据访问层

三层表现形式:

三层的优缺点:

|----|-----------------------------|-----------------------------|------------------|-------------------------------|
| ## 三层架构 |||||
| 优点 | 可维护性 | 可重用性 | 可扩展性 | 可测试性 |
| | 每一层独立扩展,不影响其他层 | 组件的之间的接口定义良好(多个程序重复使用它们) | 每一层可以独立扩展,不影响其他层 | 每个层次都有自己的职责和功能(轻松编写单元测试,集成测试) |
| 缺点 | 复杂性 | 耦合度 | 性能开销 | 开发时间 |
| | 三层架构增加应用程序的复杂性,需要更多的设计和实现工作 | 虽然可以提高代码的维护性和扩展性,同时增加系统的耦合度 | 增加了层间通信,导致性能开销 | 设计、实现每个层次-增加开发时间、尤其复杂程序时间延长 |

总结:

三层架构是一种常用的软件架构模式,可以使代码更加清晰、易于维护和扩展,同时还可以提高代码的可重用性和可测试性。在实际的软件开发中,我们应该根据具体的需求和场景选择合适的架构模式,以达到更好的开发效率和代码质量。

相关推荐
万联WANFLOW5 小时前
SD-WAN 控制平面高可用怎么做?SDWAN 控制器挂了,全网会发生什么
运维·网络·分布式·架构
踩着两条虫5 小时前
可视化 vs 终端 vs 云端:VTJ.PRO、Claude Code、Codex 三强横评
前端·vue.js·人工智能·低代码·架构
Fabarta5 小时前
从 0 实现 ChatGPT 风格的流式对话 UI
算法·架构
酱学编程5 小时前
【从零到一实现一个 AI Agent 框架 · 第四篇】04. 任务规划:拆解复杂目标 -
服务器·网络·数据库·人工智能
搭贝6 小时前
低代码平台私有化部署架构与信创全栈适配实战
低代码·架构·rxjava
学渣超7 小时前
记一次分布式事务数据不一致的排查之旅:从超时到索引,层层剥茧
java·后端·架构
小短腿的代码世界7 小时前
Qt Bluetooth源码深度解析:从HCI协议到跨平台API的完整架构
开发语言·qt·架构
艾莉丝努力练剑7 小时前
OpenCode AI 编程:Ubuntu 24.04 环境安装与使用指南
linux·服务器·网络·人工智能·tcp/ip·ubuntu
崇山峻岭之间8 小时前
Keil5输出hex转换为bin的设置
linux·运维·服务器
小短腿的代码世界8 小时前
Qt WebEngine多进程架构与IPC通信:从Chromium多进程到Qt信号槽融合
qt·架构·系统架构