面试官:你认为怎样才能设计出优秀的软件架构?

401 阅读1分钟

image.png

通过分析架构的起源,我们知道在软件架构诞生之前,架构一词,更多是应用在建筑设计领域中。

古代工匠或是“工程师”在开始工程设计前,其最重要的任务之一就是进行工程架构设计,确定布局、选景等,以保证建筑设计的合理。

image.png

古罗马御用工程师、建筑师马可·维特鲁威(Marcus Vitruvius Pollio),最早提出了建筑的三要素:

实用、坚固、美观

从实际角度出发,这三者其实并无绝对的前后优先级关系。实用是说,建筑应该按照不同的形态满足其不同的功能要求;坚固是指建筑选址应该尽量规避天灾人祸多发地带,布局应该符合当地环境,不应因为建筑而破坏生态环境,也应避免因为不利的环境因素导致建筑的破坏;而美观更加强调建筑与周围环境的协调性。架构三要素,如图1.2所示。

image.png

贝聿铭曾说过:

我和我的建筑都像竹子,再大风也只是弯弯腰而已。

而建筑设计的三要素同样也适用于软件架构设计。

image.png

想全面系统地了解计算机软件架构的知识,还可以参考《移动开发架构设计实战》,掌握架构体系知识。