读《架构漫谈》

  今天有幸读了王概凯的《架构漫谈》(https://www.infoq.cn/profile/1279517/publish)。通过这次阅读,对架构有了一种全新的认识和理解。

首先什么是架构?

  王概凯老师给了这样的定义:

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

    2.并对目标系统按某个原则进行切分;

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

  对于我,之前对架构一直是懵懵懂懂,感觉这就是只能意会,不能言传的一种东西。读过之后,感觉架构是一种框架,是一种规定,它规定什么人做什么事,什么人什么时候做什么事。它将一件繁琐复杂的事情进行化解拆分,让每个人各得其所。类比建筑,框架好比是楼层的整体结构,有了整体的结构,人们在对其进行划分,装修,内饰的摆放。这应该就是架构了。

其次认识概念是理解架构的基础  

  这一章老师首先指出了架构是解决人的问题,而概念是人认识这个世界的基础。所以要先认识概念。概念在古代称之为相。至于相,可以引用老子的一句话“无名天地之始,有名万物之母。”将一些事情加以名称,让这些事物不会混淆,方便辨识,就是相。而知道了相,就知道了它的用武之地,自然也就可以发挥出它具有的特性。借用王概凯老师的话来说:要做好架构所首先必须具备的能力,就是能够正确的认识概念,能够发现概念背后所代表的问题,进而才能够认识目标领域所需要解决的问题,这样才能够为做好架构打好基础。如果想要学习一项新的技术,如 Hibernate、Spring 等,如果知道这些概念所要解决的问题,学习这些新的技术或者概念就会如虎添翼,快速的入手;学习一个新的领域,也会非常的快速有效;使用这些概念来解释问题,甚至发明新的概念都是很容易的事。

如何做好架构的识别问题

  这一章的切重点,还是在说一句话这是谁的问题?有什么问题?这两个问题贯穿了这篇文字的始终。只有识别清楚了,才能找准方向,没有方向的蛮干可能会适得其反。当得到的回答是支支吾吾的时候,就知道正确的方向在哪儿,以及需要做哪些事了。谁的问题?会花比较多的时间,也是支支吾吾最多的地方,因为架构要解决的问题都是人的问题。但是一旦确定了答案,有什么问题?就会变得非常容易,整个项目也会水到渠成。

框架的切分

  切分就是在分蛋糕,分每个人的利益,这里面有很深的学问。分少对自己不好,分多对整个团队都有影响。同样的在切分框架也会出现这个问题,切分失误就可能导致整个项目的崩盘,至于为什么要切分,因为蛋糕和它的付出成正比,但大蛋糕的付出可能不是一个人所能做的了的,合作就意味着切分。

  而切分的原则有几点:

     1. 必须在连续时间内发生的一个活动,不能切分。

     2.切分出来的部分的负责人,对这个部分的权利和义务必须是对等的。

     3. 切分出来的部分,不应该超出一个自然人的负载。

     4. 切分是内部活动,内部无任怎么切,对整个系统的外部应该是透明的。

什么是软件,软件就是把简单但枯燥的事情交给计算机,这样用节省下来的人力物力去解决更适合人解决的问题。

  总的来说,从架构的定义到架构的方法到架构的优缺点,读完之后都有了一定的了解。也还要很有感觉在孕育无法描述,这还需要在今后的时间里慢慢培养,新世界的大门已经打开了。

原文地址:https://www.cnblogs.com/Excusezuo/p/12334663.html