知识卡片
候选架构的选择本质是质量属性权衡
内容
同一组功能需求往往能被多种候选架构同时满足——比如两层客户端/服务器和三层客户端/服务器都能完成航空订票系统的全部业务功能。这些方案在外部可见行为上等价,区别只体现在质量属性的权衡上:两层方案开发运维更简单、成本更低;三层方案负载增大时可伸缩性更好、客户端要求更低。选架构从来不是”哪个能实现需求”,而是”哪种权衡组合更契合当前场景的优先级”。
参考来源
- 位置:第2章《软件架构概念》2.1.4节「系统属性和内部组织形式」航空公司订票系统示例(源文件:_epub-src/OEBPS/text00011.html附近)
- 结论依据:原文用两层/三层客户端服务器方案均能满足航空订票系统的功能需求、但在可维护性、成本、可伸缩性等质量属性上互有优劣为例,说明候选架构的选择取决于质量属性权衡,直接支持卡片结论。
- 原始内容:"架构师可能会认为两层的架构更合适,因为这种架构的运维相对简单……交付所需要的成本比其他方案更低……架构师也可能认为三层架构才是正确的选择,因为在负载增加时它具有更好的可伸缩性,对客户端硬件能力要求更低……不管架构师认为哪种架构更为合适,之所以选择那种,都是因为它能够提供方法所承诺的系统属性与系统需求之间的最佳契合。"