美文网首页移动架构的百家争鸣Android开发经验谈
面试官:你认为什么样的架构才是优秀的架构?

面试官:你认为什么样的架构才是优秀的架构?

作者: 李良逸 | 来源:发表于2019-12-08 09:16 被阅读0次
image.png

从实用角度来看,优秀的软件架构不应该进行过度设计,如果设计复杂度较高,应考虑软件维护者是否能接受这样的架构设计,以及其可能带来的长期维护成本。

软件架构设计亦应坚固可靠,其可以应对内外界多种不同类型的攻击,提供可靠准确的输出,面对外界的变化上,应响应迅速及时,灵活可扩展。

同样地,软件架构也应该具备美观性,整洁代码易于阅读,更易于维护,能使得维护者从直观上对功能产生更清晰的认识,和更快速的处理变化。

image.png

《整洁代码之道》一书中曾提起代码整洁的优势:

代码质量与其整洁度成正比。干净的代码,既在质量上较为可靠,也为后期维护、升级奠定了良好基础。

优秀的软件架构亦是组件抽象,没有复杂依赖关系,易于扩展分离的。

美国著名软件先驱Brad Fitzpatrick在建设LiveJournal,这个优秀的虚拟写作社区之时,为系统架构设计做出了非常多重要的决策。他在为LiveJournal增加基础设施时,常常会询问自己,这个新增的基础架构是否必须要和LiveJournal绑定在一起,这使他充分重视解决依赖关系。所以,他的分布式高速缓存系统Memcached等都是抽象的,这些决定使他的系统没有产生复杂的依赖关系,具有很高的扩展性和可维护性。

image.png

美国建筑师路易·康在《静谧与光明》中曾经提到:

一座伟大的建筑物,按我的看法,必须从无可量度的状况开始,当它被设计着的时候又必须通过所有可以量度的手段,最后又一定是无可量度的。建筑房屋的唯一途径,也就是使建筑物呈现眼前的唯一途径,是通过可量度的手段。你必须服从自然法则。一定量的砖,施工方法以及工程技术均在必须之列。到最后,建筑物成了生活的一部分,它发生出不可量度的气质,焕发出活生生的精神。

我们也可以用这段话,来描述一幢具有优秀的架构的软件“摩天大楼”。

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

image

相关文章

  • 面试官:你认为什么样的架构才是优秀的架构?

    从实用角度来看,优秀的软件架构不应该进行过度设计,如果设计复杂度较高,应考虑软件维护者是否能接受这样的架构设计,以...

  • 通往架构师之路

    分布式集群的架构的架构师,也有着较高的要求,而互联网上受人敬仰的架构师大多属于这类。你也可以认为这才是真正的架构师...

  • 通往架构师之路

    分布式集群的架构的架构师,也有着较高的要求,而互联网上受人敬仰的架构师大多属于这类。你也可以认为这才是真正的架构师...

  • 股权架构

    1、什么样的股权架构才是最好的架构。 (1)好的股权架构,一定要充分考虑两方面:一是风控,即做好风险控制和风险隔离...

  • 关于架构杂想

    架构即规范,架构即约束,架构即边界,在现有的架构上解决现有业务遇到的问题,发掘架构的盲点然后才是架构的优化与调整 ...

  • iOS开发集锦之 2017.04.19(iOS应用架构谈 开篇)

    1. iOS应用架构谈 开篇 作者: Casa Taloyum描述: 架构设计的方法; 什么样的架构叫好架构; ...

  • 一篇文章了解架构师的核心技能

    “ 要想成为一名合格,甚至优秀的架构师,你至少需要懂得抓住架构师的核心技能,学会抓住架构设计的本质,这就是架构之道...

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

    通过分析架构的起源,我们知道在软件架构诞生之前,架构一词,更多是应用在建筑设计领域中。 古代工匠或是“工程师”在开...

  • 产品架构

    什么是产品架构,怎么分析产品架构,面试官问道时怎么回答。 产品架构分为五个层面: 1、表现层 2、框架层 3、结构...

  • 第10周

    关于微服务架构(中台架构、领域驱动设计、组件设计原则),你有什么样的思考和认识? 关于微服务架构 微服务其实早就存...

网友评论

    本文标题:面试官:你认为什么样的架构才是优秀的架构?

    本文链接:https://www.haomeiwen.com/subject/sezpgctx.html