一、分层架构
分层架构(layered architecture)是最常见的软件架构,也是事实上的标准架构。如果你不知道要用什么架构,那就用它。
这种架构将软件分成若干个水平层,每一层都有清晰的角色和分工,不需要知道其他层的细节。层与层之间通过接口通信。
虽然没有明确约定,软件一定要分成多少层,但是四层的结构最常见。

- 表现层(presentation):用户界面,负责视觉和用户互动
- 业务层(business):实现业务逻辑
- 持久层(persistence):提供数据,SQL 语句就放在这一层
- 数据库(database) :保存数据
有的软件在逻辑层和持久层之间,加了一个服务层(service),提供不同业务逻辑需要的一些通用接口。
用户的请求将依次通过这四层的处理,不能跳过其中任何一层。

优点:
- 结构简单,容易理解和开发
- 不同技能的程序员可以分工,负责不同的层,天然适合大多数软件公司的组织架构
- 每一层都可以独立测试,其他层的接口通过模拟解决
缺点:
- 一旦环境变化,需要代码调整或增加功能时,通常比较麻烦和费时

本文介绍了五种常见的软件架构:分层架构、事件驱动架构、微内核架构、微服务架构和云架构。分层架构由表现层、业务层、持久层和数据库组成,易于理解和开发但扩展性较差。事件驱动架构通过事件进行通信,适用于分布式异步系统,但测试和原子性操作支持不足。微内核架构以小内核加插件形式,提供良好的可定制性和可扩展性,但扩展性受限。微服务架构强调服务间的独立部署和解耦,提高扩展性和测试性,但可能导致系统复杂。云架构则解决扩展性和并发问题,通过处理单元和虚拟中间件实现动态扩展,适用于高负载场景,但实现复杂且不适合大型数据库应用。
最低0.47元/天 解锁文章
2785

被折叠的 条评论
为什么被折叠?



