《架构漫谈》读后感——软件架构师的工作

  软件架构是软件开发中一个非常非常重要的过程。我们都知道在一个软件开发项目中,软件架构师是一个团队的核心,他负责整个软件开发的分工和沟通的安排,组织整个

团队进行分工合作,高效率的完成软件开发任务。

  在之前的代码编写中,大多数是自己独立开发,编写代码和测试代码。从来没有加入过实际项目开发过程,也少有团队开发分工的经验,所以对这个软件架构的过程一点都

不了解。在小民哥的强烈推荐下,我十分"情愿"的打开了王概凯的架构漫谈系列博客,准备了解一下架构的内容。

  架构漫谈分为九部分,每一部分都有不同层次的概念和内容。在第一节软件体系结构课上,我们就完成了前四章的阅读和测试。作者在前四章中主要抛出了架构这个概念,

通过举例的方法,详细解释了架构的出现背景和架构的含义。一直以来,在软件行业,对于什么是架构,都有很多的争论,每个人都有自己的理解。在最早期,每个人都完全独

立生活,衣、食、住、行等等全部都自己搞定,整个人类都是独立的个体,不相往来,自然没有分工,也没有架构的概念。但是随着社会的进步,慢慢就形成了群落和氏族,群

居人口数量变得十分庞大,一旦多人分工配合作为生存的整体,力量就显得强大多了,所以也自然的形成了族群:有些人种田厉害,有些人制作工具厉害,有些地方适合产出粮

食,有些地方适合产出棉花等,就自然形成了人的分群,地域的分群。当分工发生后,实际上每个人的生产力都得到了提高,因为做的都是每个人擅长的事情。以人类的发展过

程为例子,我们就得出了架构的概念。把一个整体(完成人类生存的所有工作)切分成不同的部分(分工),由不同角色来完成这些分工,并通过建立不同部分相互沟通的机制

,使得这些部分能够有机的结合为一个整体,并完成这个整体所需要的所有活动,这就是架构。

  当然,我们作为人类来说,一定是以我们人类为主体去谈架构的。也就是说架构是建立在人的认知世界的基础上,是用来解决人的问题去提出的一个概念。架构是一个比较

抽象的过程,因为它看不见摸不着,但对于软件开发来说,是十分重要的。

  架构是解决人的问题的方法。那么如何识别问题呢。作为软件工程师或者架构师,我们大部分时候是要去解决别人的问题。找出问题的主体,是做架构的首要问题。当明白

了问题是什么后,我们需要探寻问题的原因是什么,解决方向在哪,需要做哪些事情,这是我们完成架构必不可少的基础。

  一开始我们就提到,架构是分工和建立沟通机制的一个过程,分工一定是架构过程中最重要的一部分。

  我们已经知道,随着社会的发展,分工是必然的,为什么呢? 这个背后的动力就是每个人自己的利益。每个人都希望能够把自己的利益最大化,比如:生活的更舒适,更轻

松,更安全,占用并享有更多的东西。但是每个人的能力和时间都非常的有限,不可能什么都懂,所以自然需要舍掉一些自己不擅长的东西,用自己擅长的东西去换取别人擅长

的东西。

  我们作为一个软件架构师,切分的内容一定是自己亲自主刀。切分工作一定不是为所欲为切就可以,需要遵守切分的原则。

  1.必须在连续时间内发生的一个活动,不能切分

  2.切分出来的部分的负责人,对这个部分的权利和义务必须是对等的。

  3.切分出来的部分,不应该超出一个自然人的负载

  4.切分是内部活动,内部无任怎么切,对整个系统的外部应该是透明的

  5.确保我们不能违反人性,因为维护自己的利益,是每个人的本性

  后面几个部分主要是课后自己观看的,主要谈软件实际开发过程中的架构问题,偏重实践内容。软件是我们日常生活中经常提到的一个概念,我们手机上,电脑上都安装各

种各样的软件,以保证我们工作和学习的正常进行。这是对于普通使用者来说的,但作为一个软件开发者,我们看待软件的角度就与之天差地别。随着互联网浪潮的冲击,软件

的要求和规模不再是之前的满足简单工作需要就可以,软件的规模也得到了极大的扩充。随着软件规模的扩大,做好一个软件也就越来越难了。早期的程序员写程序,主要是为

了帮助自己研究课题。这些程序员熟练了之后,提高了自己的生产力,并发现还可以帮助别人写程序,慢慢软件就变成了一个独立的行业。程序从早期由一个人完成,也逐渐变

成了由很多不同角色的人共同合作来完成。

  介绍完软件与架构以后,作者就主要谈了架构师在软件开发中扮演的角色。架构师必须是一个组织的领导人,有权利调动这个组织的架构,才能够更好的发挥架构师的作用

,更好的把利益的调整落到实处。反过来,具备架构师能力的组织领导人,一定是一个很好的领导,这个组织一定是很健康向上的,因为每个人的权利和义务就是比较均等的。

并且这类领导对于组织成员权利和义务的对等状况会非常的敏感,会及时的调整组织架构,在问题发生之前就解决了。

  看完架构漫谈以后,我们一定觉得架构师是软件开发过程中一个很牛的角色。很多人会觉得架构师只是当领导,分配工作和任务就好了,是不是不需要软件开发专业知识,

不需要代码编写能力就可以担任呢?这种困扰是错误的,因为你如果不对这个领域有绝对的认识和理解,就不可能充当开发的领导者,至少不是一个合格的领导者。在公司里

架构师基本上都是从代码编写程序员中挑出最优秀的,最智慧的,对这个领域理解最深的。

  如果我们有心成为一个合格的架构师,就要从现在开始,多学多练。好好提升自己代码能力的同时,一定要多思考,站在一个更高的高度去看待软件开发过程,而不仅仅

是一个“码农”,代码的堆砌者。每一个程序员都要有成为架构师的梦想,那样你就成为了支配代码的人,而不是被代码支配。

  

原文地址:https://www.cnblogs.com/Aduorisk/p/12324945.html

时间: 2024-08-24 11:19:26

《架构漫谈》读后感——软件架构师的工作的相关文章

《漫谈架构》读后感——软件架构师如何工作

看了漫谈架构,首先理解了什么是架构和为什么会产生架构.架构实际上就是指人们根据自己对世界的认识,为解决某个问题,主动地.有目的地去识别问题,并进行分解.合并,解决这个问题的实践活动.架构实际上解决的是人的问题. 什么是软件架构?软件因为流量增大而分拆成不同的运行单元,在不同的机器上部署所形成的架构,属于软件架构.每个运行单元为了让不同角色的人,比如前端,业务,数据存储等能够并行工作,所分成的代码架构,也属于软件架构. 软件架构师是如何工作的?首先软件架构师要找到真正的问题,找到真正的问题,那么问

软件架构师如何工作(即架构漫谈读后感)

读完王概凯老师的架构漫谈,感觉自己对软件架构方面的知识了解了一点点.以前都只是听说软件架构师特别的厉害,高薪,但是具体说软件架构师是什么,具体是做什么的,自己并没有多大的一个观念.现在看王概凯老师的专栏,希望能让自己有一些收获. 看完该专栏的几篇文章之后,有以下收获: 1.什么是架构,为什么需要架构? 按文章中所说,架构是规划.设计和建造建筑物和其他物理结构的过程和产物.人们完成一项任务,因为每个人的能力不同,所擅长的方向不同,所以如果自己去完成一项任务一般要花费很长的时间,效率很低,但是人们对

架构漫谈读后感

这周的课程中,老师在上课前就给我们发了一个PDF让我们先行进行了学习,并上课的时候,大家进行了分组的讨论和协商,最后,还请班上的同学进行了发言.当然,课堂上看的只是其中的一小部分,真正的内容老师还是让我们自己课后进行阅读,来体会架构的魅力. 这本书,通俗易懂,很适合我们大学生来观看,在不断的人士学习中,我们也逐渐的解决了很多我们的疑惑,首先,何为架构?最早期社会我们一个人就可以完全独立生活完成衣食住行所有事情,随着需求的增加,比如说人类延续,人们开始群居.接下来人们发现各自有各自的长处,有的人种

阅读《架构漫谈》后,思考软件架构师应该如何工作

老师上课围绕<架构漫谈>前四篇图文并茂的讲解了何为架构,架构的基础,以及识别问题和架构切分这些作为架构师需要了解的最基本的知识.现在要讨论的是软件架构师应该如何工作,如何更好的,更快的,更有效率的工作. 要想做好一个工作就应该了解这个工作最基本的需求是什么,而作为一个软件架构师就必须应该清楚的知道自己的职责是什么.也就是说,软件架构师需要负责什么工作,要解决什么问题.以下内容,就<架构漫谈>为中心,一步步细谈软件架构师应该如何工作. <架构漫谈>第五篇介绍了什么是软件.

软件架构师如何工作-架构漫谈阅读笔记

在王概凯先生的9篇关于软件架构师的博客-<架构漫谈>中,我们可以看到文中谈到了架构的定义.含义,架构主要是要认识概念,如何做好架构之架构的切分,然后谈到了软件与架构之间的关系(什么是软件,软件架构是要解决什么问题,从架构的角度看如何写好代码,理清技术.业务和架构之间的关系了),下面依次写出我对9篇博客的理解与感悟,以及对软件架构师工作的理解. 一:什么是架构 在学习软件体系结构这门课之前,我们貌似只对软件开发以及简单的mis系统的开发有一丝丝的开发经验和感触,无架构之言.我们目前还无法像软件架

[架构漫谈]软件架构师如何工作

阅读了一下王概凯的<架构漫谈>,有一些感受与心得,仅仅发表一下自己的看法和理解. 1.什么是架构? 架构是一个有些抽象的词汇,但转到其他行业或许会更容易理解.如古代朝廷的政府体系三省六部制.或者公司的部门分工等等,由一个个部分有机组成整体的概念有点类似架构的概念.比如一个远古部落,有男有女.这时候人们需要衣服以及食物,于是人们开始分工,男人出去打猎获取食物,而女人负责制衣等等形成了鲜明的分工,对每个角色有针对性的进行切分并有联系,最后有机的合并成为一个整体概念,这就形成了最简单的体系或类比为架

架构漫谈阅读笔记

<架构漫谈>读后感 经过一个寒假对<架构之美>的解读,其实我已经对什么是架构有了一个初步的认识,但是还是有一些不太明白的地方.今天,我仔细地阅读了由资深架构师王概凯Kevin执笔的系列专栏--架构漫谈,让我对什么是架构.怎样做好架构.软件架构如何落地.如何写好程序等问题有了更深刻的认识. 正如文章开篇所说的那样:一直以来,在软件行业,对于什么是架构,都有很多的争论,每个人都有自己的理解.那么究竟什么是软件架构呢?其实,把一个整体(完成人类生存的所有工作)切分成不同的部分(分工),由

软件架构师如何工作

原文链接(转载请注明出处):软件架构师如何工作 前言 要想了解软件架构师如何工作,首先要搞清楚这么几个问题:什么是架构,怎样理解架构,如何做好架构,什么是软件,什么是软件架构师,软件架构师的工作是什么,怎么理清技术.业务和架构三者的关系.资深架构师王概凯在<架构漫谈>系列专栏中一一给出了这些问题的答案.本文也是本人阅读<架构漫谈>时所做的笔记与思考. 什么是架构 什么是架构,为什么会产生架构,作者由人类社会的演化,人类社会中分工的出现来引入问题的答案.把一个整体(完成人类生存的所有

架构漫谈阅读有感

阅读了架构漫谈九篇博客https://www.infoq.cn/profile/1279517/publish,对架构和软件架构师的工作有了一个初步理论了解,也解决了个人一些对程序员发展方向和职业生涯规划的疑惑. 架构是一种使解决问题高质量高效率,并且可以全程对解决问题进行进度管控.阶段评价与优化的方法.它分为两种,一种是自然形成或者说是无意识形成的,不受人类有意识地去改造或者说是优化的,例如自然界的分工:生产者.消费者.分解者.另外一种是人类社会在长期发展的进程中逐步优化的,例如政府架构.公司