首页 > 其他分享 >《架构漫谈》读后感

《架构漫谈》读后感

时间:2024-02-28 21:45:45浏览次数:20  
标签:读后感 架构 漫谈 问题 切分 软件架构 文章 软件

今天读了王建民老师推荐的一些资料 《架构漫谈(王概凯)收益很大。一共九篇文章,从第一篇到第九篇循序渐进,思路清晰。

  这九篇文章的题目分别是这样的:“什么是架构”、“认识概念是理解架构的基础”、“如何做好架构之识别问题”、“如何做好架构之架构拆分”、“什么是软件”、“软件架构到底解决什么问题”、“不要空设架构师这个职位,给他实权”、“从架构的角度看如何写好代码”、“理清技术、业务和架构之间的关系”;

  从初学者的角度我个人写一下自己从这就篇文章中分别吸收到了那一些知识。“什么是架构”这篇文章在第篇就解答了我作为一名懵懂学生的疑惑:我们跟者老师学习架构,到底架构是个什么东西呢,它能给整个项目带来什么好处或者起着什么作用呢?王概凯先生在他的第一篇文章中(按照个人的理解)是这样说的:在了解什么是架构之前我们先要了解为什么会产生架构;那就是当一群人或者一个项目组同时工作的时候,由于每个人的能力是有限的,而且每个人的专长是有所不同的,所以为了达到资源利用最大化,我们需要对现有的资源进行重新的分配,然后获得任务的个体与其他的个体进行有效的沟通,共同完成一个目标。王概凯先生这样总结架构产生的原因   

    1. 必须由人执行的工作(不需要人介入,就意味着不需要改造,也就不需要架构了) 

    2. 每个人的能力有限(每个人都有自己的强项,个人的产出受限于最短板,并且由于人的结构限制,同时只能专注于做好一件事情,比如虽然有两只眼睛,但是只能同时专注于一件事物,有两只手,无法同时做不同的事情。ps. 虽然有少部分人可以左手画圆右手画框,但是不是普遍现象) 

    3. 每个人的时间有限(为了减少时间的投入,必然会导致把工作分解出去,给擅长于这些工作的角色来完成,见 2,从而缩短时间) 

    4. 人对目标系统有更高的要求(如果满足于现状,也就不需要进行架构了) 

    5. 目标系统的复杂性使得单个人完成这个系统,满足条件 2,3(如果个人就可以完成系统的提高,也不需要别的人参与,也就不需要架构的涉及,只是工匠,并且一般这个工作对时间的要求也不迫切。当足够熟练之后,也会有一定的架构思考,但考虑更多的是如何提高质量,提高个人的时间效率)。

  至于第一节的目标什么是架构,总结来说就是:给系统制定边界(需要需求分析),然后将目标系统按照模块进行拆分,最后将拆分好的内容分配到个人手中,做好每个人在工作中的协调交流工作。

  关于第二篇文章“认识概念是理解架构的基础”我觉得和第三篇“如何做好架构之识别问题”结合起来理解更加容易一些,说了那么多个人就收获了一个关键点:在分析问题或者在做架构之前一定要抓住问题的根本原因(有意向的读者可以读原文中“切土豆”的那个例子非常直白明了),当我们去解决一个问题的时候,一定要先把问题搞清楚,找出问题的主体,发现项目中存在的隐藏问题这才是一个合格的架构师应该具备的素养。

  读到第四篇文章“如何做好架构之架构切分”的时候感觉这个题目有些怪异--架构不就是一个整体的东西吗,这还能切分?然后我看到了作者这样的回答:虽然在识别出问题的根本所在之后会解决很多的问题,但是总是有问你还是解决不了得,那就需要做调整,那么就必须要有所动作,做相应的调整。这个调整就是架构的切分。原来是这样,那架构切分既然是为了解决问题,南无架构切分到底是为了解决什么问题还有架构应该怎样切分才算是合理呢?作者又有了这样的回答:切分是为了达到调整利益的目的,调整整个项目的运作之中产生的时间和空间上利益冲突的问题以此达到利益的最大化。作者在本章的组后部分作出了总结:

  架构的切分的导火索是人的负载太重。 架构的切分实际就是对 stakeholder 的利益进行切分或合并,使得每个stakeholder 的权责是对等的,每个 stakeholder 可以为自己的利益负责。  架构切分的最终结果都会体现在组织架构上,只有这样才能够让架构落地并推进。  架构切分的结果一定是一个树状,这也是为什么会产生分层。层数越多沟通越多,效率越低,分层要越少越好。尽可能变成一颗平衡树,才能让整个系统的效率最大化。这样看来矛盾基本上是可以通过架构切分来解决的啦。

  至于第五篇文章“什么是软件”,作者就软件的开发历史展开来谈,比较详细的介绍了软件的发展动力以及软件发展带来的效益和这对软件工程师造成了什么样的影响从而导致软件架构这一概念的兴起到发展;后面的章节也是十分的精彩,不过我在这里就不做详细的解说了,就略微提一下自己受到的小小的启发,有兴趣的朋友可以点击我第一段的链接详读品味;

  第六篇文章讲述了软件架构师要解决什么样的问题,该如何做才算是一名合格的架构师,至于这部分内容我的前一篇文章中已经写过了。读完以后个人感觉软件架构师这个职业是非常的神圣的,在整个团队开发中起到了非常之大的作用,因为他会帮助整个开发团队将潜在的损失减少到最小还会将整个团队的 资源充分的调度起来,减少各种矛盾冲突的加深,将团队的利益带领到最大化。

  后面两篇文章都是在细说软件在实施架构的时候该注意到的问题,一些规范的操作和规定会对提升全项目组的工作效率带来很大的提升;所以个人感觉学一些大家都推崇的框架比如说S2SH也是对架构的掌握起到促进的作用的吧。

标签:读后感,架构,漫谈,问题,切分,软件架构,文章,软件
From: https://www.cnblogs.com/ysk0904/p/18041965

相关文章

  • 《程序是怎样跑起来的》第十一章读后感
    硬件性能设计控制。主要采取双重电路、双重读出和回波校验等方法。双重电路可执行双重计算并比较两个计算结果;双重读出即以两个阅读器分别阅读卡片、磁带,或随机存取媒体上的记录,并比较两个阅读操作的结果;回波校验即将数据送回原输出装置与其原始数据相比较,以校验接收装置所收到的......
  • 架构漫谈前四篇读后感
    第一篇文章这篇文章通过类比的方式,以人类社会分工与合作的演变为例,引出了对架构的思考。作者从最早期每个人独立完成所有生活必需品的生产,到分工合作形成社会架构,进而将这个观点引入到软件领域,讨论了架构的产生动力。在文章中,架构被定义为将整体分解为不同部分,由不同角色完成,并......
  • 《程序是怎样跑起来的》第十二章读后感
    要让计算机能够思考,需要使用深度学习技术。深度学习是一种模拟人类神经网络的机器学习技术,通过训练大量的数据,让计算机能够自动地学习和理解输入的数据,并从中提取有用的特征和模式。深度学习技术可以应用于语音识别、图像识别、自然语言处理等领域,让计算机能够自动地识别和理解人......
  • 读后感 -------构架
    架构是指整体的结构或组织方式,它在各个领域都有着重要的意义。在软件工程领域中,架构是指软件系统的总体设计,包括系统的各个部分之间的关系、组织结构以及对外部环境的接口。一个良好的软件架构能够确保系统具有良好的可维护性、可扩展性、可重用性和性能等特性。那么,什么是架构的......
  • 读《架构漫谈》有感
    今天课堂上老师带大家阅读了《架构漫谈》,并且给大家提出了一系列的问题,以下是问题以及我的理解什么是架构:明确需要做的全部工作,即界定边界;并且将全部工作进行合理划分,使不同的生产力完成不同的工作,使其可以节约成本,提高生产效率为什么要出现架构:不同的生产力有不同的分工......
  • 第九章读后感
    第九章主要介绍了操作系统和应用之间的关系。通过阅读这一章节,我对操作系统的作用和应用程序的运行方式有了新的了解。书中详细介绍了操作系统的概念和作用。操作系统是计算机系统中的核心软件,它负责管理和协调计算机的各种资源,并提供应用程序与硬件之间的接口。书中解释了操作系......
  • 程序是怎样跑起来的第十张读后感
    第十章的内容主要围绕汇编语言来解析程序结构。通过这一章节,我们可以了解到汇编语言与本地代码之间的对应关系,即把汇编语言转换为本地代码的过程。这个过程可以被类比为数学中的三角函数,其中度数和值是一一对应的。此外,这一章节还介绍了函数的调用机制,其中函数的名称实际上对......
  • 架构漫谈读后感
    今天在阅读了王概凯先生的架构漫谈博客之后,激发了我很多对软件架构深刻的思考。这篇博文不仅仅是一个关于软件架构的技术性解读,更像是一次智慧的碰撞和思维的火花,让我对架构设计有了更加深刻的认识。从九个问题出发,让我深刻的了解了软件架构。对软件架构有了深刻的思考。(一)什么......
  • 系统科学方法概论第四章读后感
    在阅读《系统科学方法概论》第四章的过程中,我深深地被其中的观点和论述所吸引。这一章主要探讨了系统科学方法在各个领域中的应用,从自然、工程到社会,无所不在。它为我打开了一个全新的视角,让我对系统科学方法有了更深入的理解。首先,我对系统科学方法在解决复杂问题上的有效性有了......
  • 《系统科学方法概论》——第五章读后感
    本章主要讲解了自组织系统方法。第一节就简单讲述了自组织系统理论的发展历程,为以下更深入的了解做了铺垫。第二节则讲述了耗散结构理论,它是由比利时自由大学教授普利高津提出的。普利高津在总结前入经验的基础上,根据系统与环境的关系,把系统分为三类:1、孤立系统。即与环境没有物......