学习总结 --Week1

用户头像
吴炳华
关注
发布于: 2020 年 06 月 10 日
学习总结--Week1

什么是软件架构?架构师的职责是什么?如何成为一个好的架构师?这是我自己时常思考的问题,也是第一周课程的主要关注点之一。

软件架构是有关软件整体结构与组件的抽象描述,用于指导大型软件系统各个方面的设计。

李智慧老师直接引用了维基百科的定义来阐述什么是软件架构,我个人并不是完全同意这个定义。软件本身是对现实世界的抽象,软件架构应该是对抽象代码的形象阐述。软件架构本质上跟代码不同。代码是人与机器沟通的方式,而软件架构是人与人交流的工具。同时并不是只有大型软件才需要架构设计。相对的,英文版的定义是这样的:

Software architecture refers to the fundamental structures of a software system and the discipline of creating such structures and systems.

软件架构是指软件系统的基础结构以及如何创建这种结构和系统的指引。

这个定义更加准确。它强调了软件架构本身其实是对系统的结构化描述,同时也是如何实现的方法论。

关于架构师的职责,老师强调了架构师应该重点关注“相关方”及“关注点”。相关方决定了架构师应该如何选用合适的图阐述自己的架构设计,而关注点则让架构师可以集中精力在真正迫切需要解决的问题上,避免架构空泛,难以落地。而能否守住这两点,决定了我们能否成为一个好的架构师。

此外,老师从自己的经验出发,分享了技术面试及成就好的架构师的技术之外的一些经验之谈,也都很有参考价值。比如,作为面试官,不应该以身体语言“压迫”候选人,而应该以技术深度压制候选人,这样可以避免候选人轻视公司或技术团队,影响招聘及团队声誉。

发布于: 2020 年 06 月 10 日 阅读数: 34
用户头像

吴炳华

关注

还未添加个人签名 2020.04.08 加入

还未添加个人简介

评论

发布
暂无评论
学习总结--Week1