三层架构模式
什么是架构
架构是对大型软件系统最高级别的设计
- 架构从整体到部分的最高层次的划分
- 架构一旦选定以后将难以更改
什么是模式
- 模式是在软件实践活动中总结的有效、通用且能解决重复出现的问题的解决方案
- 每个模式描述了一个在某种场景下不断重复发生的问题,以及该问题解决方案的核心
模式 = 套路
模式的关键点是源于软件实践
模式(Pattern)的概念最早由建筑大师 Alexander 于 20 世纪 70 年代提出,应用于建筑领域。80 年代中期由 Ward Cunningham 和 Kent Back将 其思想引入到软件领域,如今模式已成为软件工程领域的重要议题
什么是架构模式
架构模式(也叫架构风格)是一个通用的、可重用的解决方案,用于解决在给定上下文中的最高级别软件体系结构设计中经常出现的问题
通用软件设计思想 - 分层设计
在进行大型复杂软件系统架构设计和开发时,软件架构师使用得最多的技术之一就是分层的设计思想(分而治之)
分层的特点
- 上层使用下层定义的服务
- 下层不能使用上层定义的服务
- 每一层对自己的上层隐藏其下层的实现细节
分层的优点
- 降低软件系统构件之间的耦合度,实现“低耦合、高内聚”原则
- 提升系统灵活性,可以在接口相同的情况下替换某层的具体实现
- 可以增强复用度,下层可以为多个上层提供服务
分层的缺点
- 过多的分层会影响系统性能
- 分层可能会带来各层的级联修改
三层架构模式
三层架构模式是软件架构设计中通用的一种架构模式,采用的分层设计思想,将软件系统架构分为三层(即表现层、业务层、持久层)
使用场景
大型复杂软件系统设计和开发
- 业务繁多逻辑复杂
- 需要团队协作开发
- 需要长期升级维护
优点
- 每一层职责划分清晰,可以更容易对复杂系统业务进行拆分
- 工作任务分工明确,有利于展开多人团队协作开发
- 有利于维护管理代码,更方便问题定位
- 方便系统长期维护升级
缺点
- 不适用于业务简单和规模小的中小型项目开发
- 三层中上层调用下层,一定程度上会降低系统性能
- 修改业务功能可能会导致三层级联修改
- 要求团队开发人员编码时严格遵守三层架构模式
其他架构模式
除了常见的三层架构模式外,还有很多架构模式,不同的架构模式适用于不同的软件系统开发场景。
如果以下这些架构模式仍然无法满足软件系统设计和开发,那么就需要由架构师针对软件系统设计专用的架构了。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现