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

读完王概凯老师的架构漫谈,感觉自己对软件架构方面的知识了解了一点点。以前都只是听说软件架构师特别的厉害,高薪,但是具体说软件架构师是什么,具体是做什么的,自己并没有多大的一个观念。现在看王概凯老师的专栏,希望能让自己有一些收获。

看完该专栏的几篇文章之后,有以下收获:

1.什么是架构,为什么需要架构?

按文章中所说,架构是规划、设计和建造建筑物和其他物理结构的过程和产物。人们完成一项任务,因为每个人的能力不同,所擅长的方向不同,所以如果自己去完成一项任务一般要花费很长的时间,效率很低,但是人们对目标有更高的要求,所以需要提高效率,所以需要将任务进行分割,然后将每一部分交给擅长的人去做,并且并行进行工作,然后再将每一部分进行合并,形成一个整体,可以大大减少完成任务所需要的时间,并且可以将任务完成地很好,所以需要架构,架构可以提高工作的效率。我觉得架构就是将整体工作按某种原则分为几个小部分,有不同的角色完成不同的部分,而且每一个部分之间都能联系起来,通过完成每个部分的工作,每个部分配合,完成整体所有的工作。就像一个家庭一样,家里的工作很多,每一位家庭成员都成大 不同的事情,每一位家庭成员之间相互配合,完成一个家庭的所有事情。完成一件事情需要人的参与,而且想要让这件事情完成的更好更高效,所以会产生架构。

2. 软件架构师是个什么样的人?

软件架构师最终目标是解决别人的问题,只专注与解决自己工作的问题没办法称为软件架构师,为别人的利益服务是架构师的义务。义务与权力是相辅相成的,有为别人利益着想的架构师也必须有领导权力的架构师,架构师作为组织领导,组织内部每个人的权力与义务会得到均等的划分,每个人都会得到发展。而要做好架构,首先需要识别需要解决的问题,识别出问题了,那么目标就不难实现,而识别问题的前提就是找出这个问题是谁的,找到这个问题的主题,这样才可以知道问题的边界,从而了解真正需要实现的目标是什么,才能真正的认识到问题是什么,然后是实现目标。发现问题要比解决问题更重要,如果一味的解决问题,但是并没有弄清楚问题是谁的,真正的目标是什么,那么解决问题只是空谈,而架构师的能力很大程度就体现在发现问题源头上面。

3.架构师需要做好架构切分

需要架构的原因我在前面已经叙述过了,这里就不多赘述了,做架构切分也是很重要的,按一个原则去将目标进行切分,然后将每一个部分都交给擅长的人去做,每一个部分都是有联系的,然后进行整合,从而形成一个整体。

4. 在硬件上编写的程序就是软件,用来控制硬件的行为,而控制硬件使以最初的二进制编码实现的,成本非常高,随着半导体的诞生,编程语言的出现,软件编写成本越来越低,人们开始意识到软件可以节省大量的劳动力,提高成倍的效率,软件也越来越复杂,开发难度越来越高。让复杂的软件开发过程有层次有分工,让软件模拟人的大脑去工作提高效率成了软件架构师的基本工作,有分工就有渐渐地有了分工的标准,然后演变成了架构。

5. 技术、架构以及业务之间的关系:技术在解决业务问题中产生,为了解决业务问题,人们会想出更好的技术来,目的就是获得更大的利益,业务要解决的问题越来越多越来越复杂,一种技术已经不能满足解决问题的需要了,需要把多种技术拼接在一起,多个技术共同工作来获得更大的利益。这里业务和技术的高效衔接就成为了架构师的主要问题,因为技术不会和业务有直接的关系(一种技术可以适应多种业务),架构师的作用也在这里体现,架构师有意识的组织和识别不同的技术,来实现业务的目标。

6. 软件功能越来越多,开发过程越来越复杂,代码的编写也要用架构的思想对部署单元进行责任切分,切分标准就是有无业务逻辑,有业务逻辑的分为一组,无业务逻辑的分为一组,因为含有业务逻辑的部分是业务的核心,所以再对业务逻辑进行细致的划分。这样每个单元相对系统都成了独立的一部分,使业务的扩展和修改成本在可控范围内。

原文地址:https://www.cnblogs.com/zhoulonghai/p/12330602.html

时间: 2024-08-03 10:19:58

软件架构师如何工作(即架构漫谈读后感)的相关文章

架构漫谈读后感

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

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

软件架构是软件开发中一个非常非常重要的过程.我们都知道在一个软件开发项目中,软件架构师是一个团队的核心,他负责整个软件开发的分工和沟通的安排,组织整个 团队进行分工合作,高效率的完成软件开发任务. 在之前的代码编写中,大多数是自己独立开发,编写代码和测试代码.从来没有加入过实际项目开发过程,也少有团队开发分工的经验,所以对这个软件架构的过程一点都 不了解.在小民哥的强烈推荐下,我十分"情愿"的打开了王概凯的架构漫谈系列博客,准备了解一下架构的内容. 架构漫谈分为九部分,每一部分都有不同

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

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

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

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

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

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

架构漫谈阅读笔记

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

软件架构师如何工作

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

架构漫谈阅读有感

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

读&lt;架构漫谈&gt;系列有感

读了这一系列博文,我对架构也有了大致的了解.在简单的阅读之后,我解决了几个问题. 第一个问题,什么是架构? 要学习架构,首先要知道架构.那么,什么是架构呢?引用<架构漫谈(一)>里的话就是把一个整体切割成不同的部分,由不同的角色来完成这些分工,并通过建立不同部分相互沟通的机制,使得这些部分能够有机的结合为一个整体,并完成这个整体所需要的所有活动,这就是架构.架构的定义及步骤如下: 1.根据要解决的问题,对目标系统的边界进行界定. 2.并对目标系统按某个原则的进行切分.切分的原则,要便于不同的角