1.5 本章小结

软件架构是什么?不同的人或组织会给出不同的定义。不同观点只是在时空视角下侧重点不同而已。

时间和空间是密不可分的,“软件架构是规划、设计和构建软件及其组成结构的过程和最终成果”,这是一个时空统一的观点。同样,在时空视角下,软件架构可以分为多种类型。面向空间视角的软件架构包括逻辑架构、数据架构和物理架构,面向时间视角的软件架构包括运行架构和开发架构。

软件架构的设计遵循SOLID设计原则,目标是实现“高内聚,松耦合”的空间体系结构。软件架构中的空间体系结构与时间流程决策相结合,诞生了一系列架构模式,主要包括分层架构模式、微内核架构模式、事件驱动架构模式、微服务架构模式和云服务架构模式。

软件架构的设计需要软件技术和研发方法论的支持。本章介绍了软件架构设计中常用的技术栈,并提出了“系统性能是软件运行架构的关键”这一观点。


[1]REST API是一套开发标准或者说规范,不是框架;RPC即远程过程调用协议。