代码改变世界

读架构漫谈博文有感

2018-03-08 15:03  ovols  阅读(148)  评论(0编辑  收藏  举报

  什么是软件架构?我相信这一定是我们软件工程的学生对软件架构这门课程最大的疑问。处于这个我们普遍存在的疑问,老师给我们推荐了架构漫谈八篇的博文,在阅读了这篇博文之后,我对软件架构的概念有了一个较为清晰的理解。

  架构,Architecture,原本是来源于建筑学的一个专业名词。在漫谈的前两篇中,博主主要向我们介绍了什么是架构,架构到底是用来干什么的。博文告诉我们,架构实际上就是人们根据自己的认知水平,对面临的问题进行主动的,有目的的识别,并且对问题进行分解,合并,解决这个问题的实际活动。那么在第二章之中,博文主要向我们介绍了什么是概念,并且告诉了我们争取的认识概念对于认识架构的重要性。那么,概念就是把解决问题的多解决方案,给定了一个名字,那么这个名字就是对应的某个特定的概念。

  在第三篇的博客之中,作者告诉我们对于一个软件架构师来说,最重要的能力是什么---就是能够正确的分析出自己所面对的问题,而如果真正面对的问题能够被找到,那么就离解决问题不远了。而正确的分析出面临的问题的能力,基本上就决定了一个软件架构师的能力,因此我们在日常的解决问题之中,一定要注重于正确而清晰的分析自己所面临的问题,而不是对问题置之不理而一味的追求问题的解决方法。

  在第四篇的博文之中,我们真正接触到了架构----如何正确的做好架构切分。架构的切分,实际上就是对利益的切分,而这种利益的切分一旦没有切分到小组的每个成员都满意,便会引起成员之间利益的纠纷,从而使工作受阻。因此,架构的切分一定是一个树状,从而使层数增多,由此使各层之间的沟通和交流增多,保证整个系统的效率最大化。

  而令我印象比较深刻的则是博文的第六章和第七章,软件架构到底要解决什么问题?而软件架构师到底是用来干什么的?这些问题博文都进行了比较详细的说明。软件架构主要是为了解决业务问题的本质,让软件能够更好的跑起来。这些都是软件架构可以解决的问题。那么对应的,软件架构师的作用就是在面临问题时将对陌生事物的恐惧压抑下来,冷静的对系统问题进行正确和详细的分析,了解问题的本质所在,并且将这种反应变成自己面对问题的这反应。而软件架构师的权利则是一个组织的领导人,有权力调动这个组织的所有架构,这样才能更好的发挥一个架构师的作用,保证更好的把利益的调整落到实处。

  在文章的最后一篇,第八章之中,文章主要讲述了技术,业务和架构的关系。而正确的认识这三者之间的关系是我们对软件构架的认识的另一个重点。技术是为了解决业务的问题而产生的,因此一旦没有了业务,那么技术也没有了存在的前提。而在同样的业务要求面前,我们可以有多种多样的技术,这些技术有好坏之分,也有效率高低之分,这时候便体现出了架构的重要性,拥有好的架构的解决方法的效率会更好,从而会在海量的技术之中脱颖而出,而其他的低效率技术将会被淘汰。

  通过对这八篇博客的阅读,使我对什么是架构,架构是用来解决什么问题的,如何成为一名合格的软件架构师等一系列问题有了清晰的认识。使我对软件架构这门课的教学内容和教学目标有了一个初步的认识,使我受益颇深。