知识卡片

架构重要性的五个信号

结构图卡 · 1958.c.4

内容

判断一个项目是否需要认真对待架构,看是否命中以下任一信号:解空间小(可接受方案少,如设计人力飞机远难于造更快的汽车)、失败风险高(如医疗系统故障可能危及生命)、质量属性难以达成(如百万级用户的高性能邮件系统)、全新领域(设计者首次接触的问题类型)、需要支撑产品线(多个产品共享同一架构)。这与阿姆达尔定律的道理相通:优化某部分带来的整体收益,与这部分在系统中的占比成正比——架构对整体系统风险的影响面越大,投入精力去做对架构决策就越值得。

结构图:

flowchart TD
    A[判断架构是否重要] --> B[解空间小<br/>可接受方案稀少]
    A --> C[失败风险高<br/>后果可能不可挽回]
    A --> D[质量属性难达成<br/>如超高性能/超大规模]
    A --> E[全新领域<br/>缺乏可复用经验]
    A --> F[需支撑产品线<br/>多产品共享同一架构]
    B --> G[命中任一项→值得投入架构精力]
    C --> G
    D --> G
    E --> G
    F --> G

参考来源

- 位置:《恰如其分的软件架构》第2章《软件架构》2.3节《架构何时重要?》(源文件:_epub-src/OEBPS/text00017.html) - 结论依据:原文逐一列举五种"存在架构高风险"的特定案例,并以阿姆达尔定律类比说明架构投入应与其能规避的整体系统风险成正比。 - 原始内容:下面给出了五种存在架构高风险的特定案例。小的解空间……高的失败风险……难以实现的质量属性……全新的领域……产品线……选择正确架构带来的收益与规避整体系统风险是成正比的。