zoukankan      html  css  js  c++  java
  • 《架构漫谈》的九篇博客阅读笔记

    https://www.infoq.cn/profile/1279517/publish/all

          今天阅读了《架构漫谈》的九篇博客,对于架构有了更加深层次的了解与理解,知道了一些当身为一名软件架构师时应该如何进行工作。

          一名软件架构师要做的自然就是对问题的分析,以及解决问题的方案:包括拆分的原则以及理由,沟通合并的原则以及理由,以及拆分,拆分出来的各个部分和合并所对应的角色和所需要的核心能力等。

          首先需要做的就是识别出需要解决的问题。一般来说,如果把真正的问题找到,那么问题就已经解决了80%了。这个能力基本上就决定了架构师的水平。只有真正投入思考问题是什么的工程师,才是一名合格的软件架构师架构师都要有这个自觉:发现问题永远都比解决问题来的更加重要。当我们去解决一个问题的时候,一定要先把问题搞清楚。为了帮助自己更快的搞明白,首先要做的事是问正确的问题。第一个正确的问题就是:目标问题是谁的问题。只有真正明白了是谁的问题,才能够真正地完成自己的任务,真正地把自己的问题解决掉,而不是反过来。当明白了问题的主体,我们才可能真正的认识问题是什么。因为问题的主体是问题的隐含边界,边界不确定下来,问题就是不确定的。一旦确定了主体,剩下的就是去搞明白主体有哪些问题。这个就比较直接了,常用的方式就是直接面对主体进行访谈,深入到主体的工作生活当中,体验并感受这些问题,甚至通过数据的反馈来定位问题。总结一下要正确的认识问题,需要问两个问题:这是谁的问题?有什么问题?因为架构要解决的问题都是人的问题,架构师的能力大部分会体现在问题1的识别上。

          在识别出是谁的问题之后,会发现,在大部分情况下,问题都迎刃而解,不需要做额外的动作。很多时候问题的产生都是因为沟通的误解,或者主观上有很多不必要的利益诉求导致的。但是总还有一部分确实是有问题的,需要做调整,那么就必须要有所动作,做相应的调整。这个调整就是架构的切分。架构的切分实际就是对stakeholder 的利益进行切分或合并,使得每个stakeholder 的权责是对等的,每个stakeholder 可以为自己的利益负责。随着社会的发展,分工是必然的,为什么呢? 这个背后的动力就是每个人自己的利益。 每个人都希望能够把自己的利益最大化。 每个人必须要舍掉自己的东西,才能够得到更多的东西。 如果需要在这个社会上立足,判断标准就变成了:如何给这个社会提供更好更有质量的服务。架构切分的最终结果都会体现在组织架构上,只有这样才能够让架构落地并推进。架构切分的结果一定是一个树状,这也是为什么会产生分层。层数越多沟通越多,效率越低,分层要越少越好。尽可能变成一颗平衡树,才能让整个系统的效率最大化。切分就要有几个原则:1.必须在连续时间内发生的一个活动,不能切分。2.切分出来的部分的负责人,对这个部分的权利和义务必须是对等的。3.切分出来的部分,不应该超出一个自然人的负载。当4.切分是内部活动,内部无任怎么切,对整个系统的外部应该是透明的。

           当切分完成之后架构师应该承担起解决业务问题的这个角色来,专注于 Business Domain 和软件本身的架构,让技术人员致力于为业务在计算机中跑起来而努力。只有把这两者很好的结合起来,才能更好地完成业务的目标,才会让软件更好地服务于大家。最终一定会得到一个很好的软件架构,令软件开发团队和业务部门都能够很好地开展工作并降低成本。而这就必然导致了架构师必须是一个组织的领导人,有权利调动这个组织的架构,才能够更好的发挥架构师的作用,更好的把利益的调整落到实处。

       总结,作为一名软件架构师必须能够超越对时间的恐惧--也就是说必须具备了一定程度的自信,哪怕是装的,去真正的发现问题的主体,识别真正的问题,并把这个行为变成为自己面对问题的第一反应。架构师还必须要明白,所给出的解决方案–架构的分拆、合并方案,只有让问题的主体的权责对等,才能够真正的解决别人的问题。

  • 相关阅读:
    值传递和引用传递(不是引用类型的传递)的区别
    字符串一旦定义,就表示开辟好了指定的空间,其内容就不可改变
    String类的直接赋值和构造方法赋值的区别
    字符串常量是String类的匿名对象
    Integer和int的区别(转)
    final的好处
    数组引用传递
    构造代码块
    ==和equals()的不同点
    Redis数据类型底层实现
  • 原文地址:https://www.cnblogs.com/zql-42/p/14477691.html
Copyright © 2011-2022 走看看