这让我想谈谈为什么技术知识面宽对软件构架师来说也很重要。当然,他们可能是Java或者Oracle专家,但软件构架角色的要求更高。例如,他们要能够回答以下类型的问题。 和其他可选技术相比,我们所选的是否最合适?对该系统的设计和构建,还有哪些选择?是否应该采用一种通用的架构模式?我们是否明白所做决策的利弊?我们照顾到了品质属性 的需求吗?如何证明这种架构行之有效 ?