知识卡片

架构师的首要关注点不是功能,而是品质属性

专业/工作

内容

设计一个系统时,直觉上先问”要实现什么功能”,但真正决定架构走向的往往是功能之外的品质关注点:并发用户数、安全等级、可变性预期、性能目标等。这是因为同一组功能需求可以有无数种实现方式,但只有极少数架构能同时满足特定的品质需求——比如同样是”提供Web页面”,选Ruby on Rails还是基于Servlet的架构,功能上等价,但在可维护性、可测试性、异步事件支持上天差地别。这提示一个实践判断:接到一个新系统的设计需求时,第一步该做的不是画页面布局或数据模型,而是先和干系人对齐”这个系统最终要在哪些品质维度上不能妥协”,这决定了后续所有分解方式的取舍空间。

参考来源

《架构之美》第1章《架构概述》