读架构漫谈 有感

什么是架构

缘起

一直以来,在软件行业,对于什么是架构,都有很多的争论,每个人都有自己的理解。甚至于很多架构师一说架构,就开始谈论什么应用架构、硬件架构、数据架构等等。我曾经也到处寻找过架构的定义,请教过很多人,结果发现,没有大家都认可的定义。套用一句关于 big data 流行的笑话,放在架构上也适用:

事实上,架构在软件发明时的 N 多年以前,就已经存在了,这个词最早是跟随着建筑出现的。所以,我觉得有必要从源头开始,把架构这个概念先讨论清楚,只有这样,软件行业架构的讨论才有意义。

架构漫谈是由资深架构师王概凯Kevin执笔的系列专栏,专栏将会以Kevin的架构经验为基础,逐步讨论什么是架构、怎样做好架构、软件架构如何落地、如何写好程序等问题。专栏的目的是希望能抛出一些观点,并引发大家思考,如果你有感触或者新的感悟,欢迎联系专栏负责人王深聊。

1.根据要解决的问题,对目标系统的边界进行界定。

2.并对目标系统按某个原则的进行切分。切分的原则,要便于不同的角色,对切分出来的部分,并行或串行开展工作,一般并行才能减少时间。

3.并对这些切分出来的部分,设立沟通机制。

4.根据 3,使得这些部分之间能够进行有机的联系,合并组装成为一个整体,完成目标系统的所有工作。

架构是为了解决的人的问题,找出问题的主体,是做架构的首要问题。要思考“是解决谁的问题”,先找到是“谁”,再去分析所需解决的问题。识别出问题后,对于确实有问题的部分要根据利益进行切分。切分的

架构漫谈共分为了九篇,我认为他是先从架构的概念开始介绍,然后解释了架构的作用即所解决的问题,最后是从架构的角度去理解,写好代码。

 在第二篇文章中,作者以桌子为例,解释了架构,说明了人们常进入的误区,要做好架构所首先必须具备的能力,就是能够正确的认识概念,能够发现概念背后所代表的问题,进而才能够认识目标领域所需要解决的问题,这样才能够为做好架构打好基础。同时掌握好架构概念并应用与学习新知识的过程,可能就会效率更高,正确的解决问题。

在第三篇中,主要是告诉我们要正确的认识问题,因为作为一名软件的开发人员。首先要解决的就是用户的需求,但是更多的时候,用户自己对想要的也描述不清楚,这就造成了用户对产品不满意。而我们能做到的最好的方法就是,找到问题的主体,找到主体之后便能准确的确定边界问题,找到问题之后便可以很快的去解决。

我理解架构是复杂问题简单化,简单问题模式化,模式化就是切分

关于切分小结

1.架构的切分的导火索是人的负载太重。

2.架构的切分实际就是对 stakeholder(利益相关者) 的利益进行切分或合并,使得每个 stakeholder 的权责是对等的,每个 stakeholder 可以为自己的利益负责。

3.架构切分的最终结果都会体现在组织架构上,只有这样才能够让架构落地并推进。

4.架构切分的结果一定是一个树状,尽量扁平化。