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

架构漫谈读后感

时间:2023-02-17 20:44:49浏览次数:32  
标签:读后感 架构 每个 漫谈 问题 切分 解决

读架构漫谈有感今天,在老师的推荐下,读了架构漫谈,《架构漫谈》是由资深架构师王概凯 Kevin 执笔的系列专栏,专栏将会以 Kevin 的架构经验为基础,逐步讨论什么是架构、怎样做好架构、软件架构如何落地、如何写好程序等问题。由于时间有限以及自身能力的限制,所以只读了《架构漫谈》前四章的内容,自此,对架构漫谈有了一个自己的理解。在软件这个行业内,每个人都有着自己的礼节,所以争论从来没有停止过。而在一个整体中,由于为了生存发展,所以人们不得不进行分工合作,每个人都是整体的一部分,但是各个部分又是紧密相连,互相交流,每个人都在做自己擅长做的事,再使整体生产力发展的同时,自己的生产力也有了极大的进步。以上面这个例子为例,把一个整体切分成不同的部分,由不同角色来完成这些分工,并通过建立不同部分相互沟通的机制,使得这些部分能够有机的结合为一个整体,并完成这个整体所需要的所有活动,这就是架构。由以上的例子,也可以归纳出架构产生的动力:必须由人执行的工作,每个人的能力有限,每个人的时间有限,人对目标系统有更高的要求,目标系统的复杂性使得单个人完成这个系统,满足条件(如果个人就可以完成系统的提高,也不需要别的人参与,也就不需要架构的涉及,只是工匠,并且一般这个工作对时间的要求也不迫切。当足够熟练之后,也会有一定的架构思考,但考虑更多的是如何提高质量,提高个人的时间效率),这是作者给出的定义,我总结之后为:把事物进行切分,而每一部分能够互相联通,在老师的提点和给出了更高的总结之后,我也认为其更好的定义是:复杂问题简单化,简单问题流程化。以上解决了什么是架构的问题,那么架构是用来解决谁的问题呢?架构实际上解决的是人的问题,而概念是人认识这个世界的基础,自然概念的认识就非常的重要。每个概念实际上所解决的,还是人遇到的某个特定的问题,我们把解决问题的解决方案,给定了一个名字,这个名字就是对应的某个特定的概念。对于概念这个词本身,为了统一指代这些名字,我们称起这类作用的名字称为“概念”。根据架构的定义,要做好架构所首先必须具备的能力,就是能够正确的认识概念,能够发现概念背后所代表的问题,进而才能够认识目标领域所需要解决的问题,这样才能够为做好架构打好基础。事实上,这一能力,在任何一个领域都是适用的。找出问题的主体,是做架构的首要问题。这也是我一再强调的,我们要解决的问题,一定都是人的问题。更进一步,架构师要解决的,基本都是别人的问题,不是自己的问题。而在认识问题之后架构师就要开始对其进行切分,因为工作量的庞大,不可能让一个人完成全部工作,那切分的依据是什么呢?必须在连续时间内发生的一个活动,不能切分。比如孕妇怀孕,必须要 10 月怀胎,不能够切成 10 个人一个月完成。切分出来的部分的负责人,对这个部分的权利和义务必须是对等的。因为如果权利和义务是不对等的话,会伤害每个个体的利益,分出来执行的效率会比没有分出来还要低,实际上也损害了整体的利益,这违背了提升整体利益的初衷。切分出来的部分,不应该超出一个自然人的负载。当然对于每个人的能力不同,负载能力也不一样,需要不断的根据实际情况调整,这实际上就是运营。切分是内部活动,内部无任怎么切,对整个系统的外部应该是透明的。如果因为切分导致整个系统解决的问题发生了变化,那么这个变化不属于架构的活动。当然很多时候当我们把问题分析的比较清楚的时候,整个系统的边界会进一步的完善,这就会形成螺旋式的进化。但这不属于架构所应该解决的问题。进化的发生,也会导致新的架构的切分。

标签:读后感,架构,每个,漫谈,问题,切分,解决
From: https://www.cnblogs.com/chenjiachengshmily/p/17131452.html

相关文章

  • 组合数学课程笔记(一):框架构建
    组合数学的严格定义是非常困难的,其设计的内容广泛,分类困难,体系性较弱。不过,我们可以把组合数学按照问题、工具、对象三种方法进行分类,例如图论,就是按照研究对象分出的内容......
  • 【大数据架构之旅】1 深入理解 CDC
    CDC=ChangeDataCapture,是一种用以掌控数据变化的软件架构(或者再通俗一点:技术思路)。具体架构/思想背后会有不同的工程实现思路,本文我们就来深入理解一下。更新历史2......
  • 计数系统架构设计(转)
    本文主要节选和总结自沈剑大佬的计数系统架构实践一次搞定|架构师之路和文章的评论,略有删改一、问题描述很多业务都有“计数”需求,以微博为例:微博首页的个人中心部分......
  • 软件架构师“从入门到入土”
    什么是架构?软件总体的结构,软件的设计图。为什么要出现架构?一个软件太大了,一个人的心力很难完全构建出来,以至于需要很长时间或者多人合作开发。一个人的话,一开始自己对......
  • 多模态学习有哪些架构?MBZUAI最新《多模态表示学习》综述,29页详述多模态表示学习的演化
    前言本文回顾了深度多模态学习方法的演变,并讨论了使主干对各种下游任务具有鲁棒性所需的预训练的类型和目标。本文转载自专知 欢迎关注公众号CV技术指南,专注于计......
  • 架构师成长之路之Linux Bridge+VLAN == 虚拟交换机
    总结:(1)物理交换机存在多个VLAN,每个VLAN拥有多个端口。同一VLAN端口之间可以交换转发,不同VLAN端口之间隔离。所以交换机包含两层功能:交换与隔离。(2)Linux的VLAN设备......
  • 【开源需求】C++多线程消息分发架构
    项目【gi_messager】开源项目:https://girakoo.com/联系方式:[email protected]需求简述在多线程环境中,为每个线程提供独立的消息队列MessageLoop。注:主线程默认自动......
  • 三层架构:软件设计架构
    1,界面层(表示层/web层):用户看得到的界面。用户可以通过界面上的组件和服场器进行交互。2,业务透辑层(service层):处理业务逻辑的(最重要也是最难编写的)。不做具体的操作。3,数据......
  • 凤凰架构 - 服务发现、网关路由、客户端负载均衡、流量治理、可靠通讯、可观测性
     一、服务发现 1.所有的远程服务调用都是使用全限定名(FullyQualifiedDomainName,FQDN)、端口号与服务标识所构成的三元组来确定一个远程服务的精确坐标的。全限定名......
  • 课堂测试——架构
     (1)什么是架构?   人根据某个需要解决的问题,识别分析问题,并将按照最优解决方式对问题进行切分,让不同角色分工切分好的模块,最后整合各个达到最优解的模块形成一个整体,以......