Software architecture is the set of design decisions which, if made incorrectly, may cause your project to be cancelled.
-Eoin Woods
为什么需要架构?
本章将聚从技术视角来阐述架构的重要性。我们将从以下几方面展开:
1 架构可以控制系统对质量指标的掌控。
2 在架构中的决策可以用来推断或管理系统演化过程中的变更。
3 对架构的分析可以更早的预测系统的质量。
4 文档化的架构可以加强干系人之间的沟通。
5 架构是最早的,因此也是最根本的、最难更改的设计决策的载体
6 架构定义了一组后续实现的约束。
7 架构遵循的组件的结构,反之亦然。
8 架构可以为演化模型提供基础。
9 架构是架构师和项目管理者推断成本和计划的关键制品。
10 架构可以被制作成一个可迁移的、可复用的模型,形成产品线的核心。
11 基于架构的开发聚焦于组件的装配,而不是仅仅是组件的创建上。
12 通过限制设计的备选方案,架构引导了开发人员的创造力,可以降低设计和系统的复杂性。
13 架构可以作为培养新的团队成员的基础。
虽然我们都相信架构是很重要的,但不需要死记硬背以上十三点,只需要考虑如何将这十三点作为在项目中使用架构的十三个很有用的方式进行实践即可。