zoukankan      html  css  js  c++  java
  • 《架构漫谈1-4》读后感

    《架构漫谈1-4》读后感

           作者先有为什么产生架构作为引子,再从最初始的架构——建筑谈起,从而引入软件工程上架构的要求:1.根据要解决的问题,对目标系统的边界进行界定。2.并对目标系统按某个原则的进行切分。切分的原则,要便于不同的角色,对切分出来的部分,并行或串行开展工作,一般并行才能减少时间。3.并对这些切分出来的部分,设立沟通机制。4.根据 3,使得这些部分之间能够进行有机的联系,合并组装成为一个整体,完成目标系统的所有工作。最后得出结论:架构实际上就是指人们根据自己对世界的认识,为解决某个问题,主动地、有目的地去识别问题,并进行分解、合并,解决这个问题的实践活动。

           我们所需要解决的问题就是我们的系统边界,而我们如何解决这个问题就是如何分工。架构的产生就是为了解决人的问题,而作者提到的沟通机制也是为了解决如何分工这个问题。然后依据架构的定义,我们在解决问题之前,需要知道问题是什么,是谁的问题,然后解决。

           我们需要明白,这个问题时谁提出,是为了解决谁的问题,将我们带入到需要解决问题的人,这样才能真正解决问题,否则只能是解决了我眼中的问题,而非解决了提出问题的人的问题。

           确立了主体,我们就要去解决问题,第一步是分工。而分工就是对相关人员的权利和责任的分配。作者提出了这样的一个观点:人的本性是维护自己的利益。这就要求分配原则需要公平。权利和责任的不对等会导致架构的坍塌。作者在最后还提出:架构切分的结果一定是一个树状,这也是为什么会产生分层。层数越多沟通越多,效率越低,分层要越少越好。尽可能变成一颗平衡树,才能让整个系统的效率最大化。这个观点有点像扁平化管理,但是我觉得层数虽然不是越多越好,但也不是越少越好,当团队达到一定规模的时候,需要添加层数,扁平化的管理不是十分适合庞大的团队。

  • 相关阅读:
    poj 2718 Smallest Difference
    AtCoder Beginner Contest 100 2018/06/16
    aoj 0009 Prime Number
    poj 1930 Dead Fraction
    poj 3669 Meteor Shower
    aoj 0121 Seven Puzzle
    poj 2429 GCD & LCM Inverse
    aoj 0005 GCD and LCM
    aoj 0558 Cheese
    aoj 0033 玉
  • 原文地址:https://www.cnblogs.com/heiyang/p/12348751.html
Copyright © 2011-2022 走看看