知识卡片

架构没有唯一正确答案,只有折中之后的"足够好"

专业/工作

内容

一个复杂系统不可能同时把功能性、性能、安全性、可变性、成本等所有关注点都做到最优——改进其中一项,几乎必然会牺牲另一项(加密提升安全性但损失性能,配置文件提升可变性但降低可用性)。架构师真正的工作不是寻找不存在的完美方案,而是先找出这个特定系统里最重要的关注点是什么,再判断”满足这些关注点到什么程度才算足够”。评估一个架构好不好,常见的做法要么是建模模拟具体属性(性能建模、失效树),要么是通过结构化质询(像ATAM那样用具体场景反问架构师”这里你的架构怎么应对”)。这提示一个态度:遇到”这个架构对不对”的争论时,更有效的问法是”它有没有讲清楚自己在哪里做了取舍、为什么这样取舍”,而不是追问一个不存在的标准答案。

参考来源

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