架构漫谈阅读笔记
今天,我读了资深架构师王概凯执笔的《架构漫谈》,初步对架构有了一些认识。
学习架构,首先要搞明白神魔是架构,而要想真正了解架构,就需要了解为神魔要产生架构。在最早期每个人独立生活,整个人类都是独立的个体,不相往来,
后来为了延续后代,有了男女群居,这时候产生了男女之间的分工,提高了生活的质量,后来就形成了群居的形式,在这些过程中,就形成了社会的架构。通过上面
的过程,归纳出架构产生的动力:
- 必须有人执行
- 每个人的能力有限
- 每个人的时间有限
- 人对目标系统有更高的要求
- 目标的复杂性使得美国人完成这个系统,满足条件2,3
在类比一下人们的建筑,建筑的产生和架构的产生过程十分相似,最终得出 架构就是:
1. 根据要解决的问题,对目标系统的边界进行界定。
2. 并对目标系统按某个原则的进行切分。切分的原则,要便于不同的角色,对切分出来的部分,并行或串行开展工作,一般并行才能减少时间。
3. 并对这些切分出来的部分,设立沟通机制。
4. 根据 3,使得这些部分之间能够进行有机的联系,合并组装成为一个整体,完成目标系统的所有工作。
要想学架构的内容,就要先搞清楚神魔是架构,对架构本身有一定的认识,这样才有助于我们学好架构。
理解架构,需要加深对概念的认识,因为架构解决的是人的问题,概念是人认识这个世界的基础,其实人们对习以为常的概念很多时候都是下意识的而不是主动
地认识,概念也属于人认识这个世界并用来沟通的手段,在古代,不叫“概念”,称之为“名相”。
比如说杯子就是一个名字,指代的看到的东西就是相,就是事物的相状。相表达的不是一个具体的东西,相实际上代表的是这个作用,并不是具体的某个东西,
而名是用来表示这个作用的,用来交流的。而要想理解好架构,就需要理解抽象。抽象这个词代表的含义是把不同的概念的相似的部分合并在一起,形成一个新的
概念。当然,这里面会遇到很多问题:首先“相似的部分”在不同的人看来,并不一定那么相似;其次,抽象之后形成的是一个新的概念,和原来那个概念并不一样,
所解决的问题也不一样。所以我们不能用抽象来定义一个事物,抽象实际上是一个分类的过程,完全是另一码事。再举一个例子,杯子和容器,很多人认为容器是
杯子的抽象,但是实际上杯子是杯子,容器是容器,它们所解决的问题是不一样的。。当我们需要解决装东西的问题的时候,会说容器;当我们需要解决单手持握
要装东西的时候,会说要一个杯子。如果我们要做好架构,就是能够正确的认识概念,能够噶西安概念背后所代表的问题,然后才能认识目标领域所需要解决的问
题,这样才能为做好架构打好基础。
接下来需要做的是正确分析问题,找到问题的关键点,并帮助别人解决问题。我们要增强分析问题解决问题的能力。找到问题的主体,我们才能真正的认识问
题是什么,以为问题的主体是问题的隐含边界,边界确定不下来,问题就是不确定的。总结一下,要正确的认识问题,需要问两个问题:1. 这是谁的问题? 2. 有什
么问题。
接下来需要考虑的就是架构的切分和建模,在当今社会,最真实的人与人之间的关系就是利益关系,所以在解决问题时会涉及到利益的问题,这个时候需要有所
动作,作相应的调整,这个调整就是架构的切分。切分的过程就是建模的过程,架构切分的输出实际上就是一个系统的模型,而切分的最终结果都会体现在组织架构
上,因为我们切分的实际上就是人的利益。最后总结一下:
1. 架构的切分的导火索是人的负载太重。
2. 架构的切分实际就是对 stakeholder 的利益进行切分或合并,使得每个stakeholder 的权责是对等的,每个 stakeholder 可以为自己的利益负责。
3. 架构切分的最终结果都会体现在组织架构上,只有这样才能够让架构落地并推进。
4. 架构切分的结果一定是一个树状,这也是为什么会产生分层。层数越多沟通越多,效率越低,分层要越少越好。尽可能变成一颗平衡树,才能让整个系统的效率最大化。
这些我只是一知半解,尤其是后面的切分,但是简单的把什么是架构和如何做好架构等必要的内容有了一些了解。