今天阅读了架构漫谈这篇博文,让架构师以及架构工作一无所知的我有了很深刻的印象。这篇博文很简短,但是他对架构的讲解非常到位,让我收获很多。
首先,我一无所知,在开篇王先生就阐述什么是架构,我正是带着这个疑问来到这个博文的,所以开篇题目直击我的疑惑,原来架构如同哈利波特,每个人心中的架构都是不同理解的,没有一个确切的定义,王先生用很生动的例子为我们讲解了为什么要这样理解架构。比如他提到的社会分工,仔细想想确实如此,在原始社会,最开始都是各自干各自的,能够满足自己的基本生存就行了。后来遇到什么大灾难,或者需要获取更多的满足,就需要更多人分工合作了,这时候就需要架构了。谁干什么,什么时候行动,怎么会和等等,这一系列计划说起来其实就是架构了。因此对于这章我能了解到每个架构都是不确切的,但是他都有一个共同点,就是能够以最短时间,最快效率达到人们期待的目的的一种方式。
认识概念总体来说就是了解事物的本质,什么作用,怎样好用,从不同方面理解一个东西就会有不同的价值。这里没有多少感悟的。
如何识别问题,这是一个重点。这是王先生的例子:我们先看一则笑话。女主人公:老公,把袋子里的土豆切一半下锅。结果老公是把袋子里的每个土豆都削了一半,然后下锅。从不同的角度看丈夫确实准确实施了妻子的需求,这可能只是沟通问题,但是在现实中,这样可就是大问题了。我们不能拿着客户的需求问题就开始跑,需要仔细思考,这些需求是为了什么,这些问题的限制边界,条件是什么,是什么产生了这些问题等等,比如这个丈夫和妻子,妻子主要需求就是烧饭,丈夫这时应该了解这个问题的本质,为什么削的土豆-------为了给人吃嘛。既然知道这个本质了,就不应该把每个土豆都削一半嘛,仔细思考就应该是4个削2个的道理。所以在做架构的时候需要了解需求问题的本质,发现问题背后的问题。
架构切分,博文讲的很明确,为了利益,为了节省时间,人力,成本,为了效率。切分的原则就引用他的理解:
1.必须在连续时间内发生的一个活动,不能切分。比如孕妇怀孕,必须要 10 月怀胎,不能够切成 10 个人一个月完成。
2.切分出来的部分的负责人,对这个部分的权利和义务必须是对等的。比方说妈妈 10 月怀胎,妈妈有权利处置小孩的出生和抚养,同样也对小孩的出生和抚养负责。为什么必须是这样呢? 因为如果权利和义务是不对等的话,会伤害每个个体的利益,分出来执行的效率会比没有分出来还要低,实际上也损害了整体的利益,这违背了提升整体利益的初衷。
3.切分出来的部分,不应该超出一个自然人的负载。当然对于每个人的能力不同,负载能力也不一样,需要不断的根据实际情况调整,这实际上就是运营。4.切分是内部活动,内部无任怎么切,对整个系统的外部应该是透明的。如果因为切分导致整个系统解决的问题发生了变化,那么这个变化不属于架构的活动。当然很多时候当我们把问题分析的比较清楚的时候,整个系统的边界会进一步的完善,这就会形成螺旋式的进化。但这不属于架构所应该解决的问题。进化的发生,也会导致新的架构的切分。