架构漫谈读后感

  这九篇文章的题目分别是这样的:“什么是架构”、“认识概念是理解架构的基础”、“如何做好架构之识别问题”、“如何做好架构之架构拆分”、“什么是软件”、“软件架构到底解决什么问题”、“不要空设架构师这个职位,给他实权”、“从架构的角度看如何写好代码”、“理清技术、业务和架构之间的关系”;

  “什么是架构”这篇文章在第篇就解答了我作为一名懵懂学生的疑惑:我们跟者老师学习架构,到底架构是个什么东西呢,它能给整个项目带来什么好处或者起着什么作用呢?王概凯先生在他的第一篇文章中(按照个人的理解)是这样说的:在了解什么是架构之前我们先要了解为什么会产生架构;那就是当一群人或者一个项目组同时工作的时候,由于每个人的能力是有限的,而且每个人的专长是有所不同的,所以为了达到资源利用最大化,我们需要对现有的资源进行重新的分配,然后获得任务的个体与其他的个体进行有效的沟通,共同完成一个目标。王概凯先生这样总结架构产生的原因

 为什么?真正明白为什么的工程师,才可能成长为一个合格的架构师。几乎所有与软件有关的职业和著作都要求对一个问题的解决,那就是问题,这不是文字游戏,而是实实在在的关键所在。但是怎么弄明白问题呢?首先就要找到问题的主体,因为架构是和人分不开的,虽有问题的主体往往就是问题的对象——人。一个问题,对象不同,即主体不同,主体不同所带来的解决方式也很可能不同,不同的解决方法,其中的绝大部分往往就不是最让人满意的解决方法了,因为我们没有搞清楚这到底是谁的问题。 

  找出了问题,我们就可以去解决问题了,怎么去解决?不同的个体构成一个整体,那这个作为整体的问题也需要分成不同的个体到每一个个人身上。在分解的过程就产生了怎么去分解的问题。切分的调整即是对个人利益的调整,说到切分和利益,就想到一个老师讲过的故事:一群人分粥,怎么分才最公平。当然有很多选项,也可听者自行发挥,这里就直接说老师的答案了——让一个人来为大家分粥,分粥的人最后取粥,这或许不是最好的答案,却已经是很好的结果。分粥的人想要得到的更多,但是如果给别人分的少的话,别人就会抱怨他,给别人分的多了,自己就又少了,于是就产生了大家都认可的公平。切分的过程有舍才有得

读到第四篇文章“如何做好架构之架构切分”的时候感觉这个题目有些怪异--架构不就是一个整体的东西吗,这还能切分?然后我看到了作者这样的回答:虽然在识别出问题的根本所在之后会解决很多的问题,但是总是有问你还是解决不了得,那就需要做调整,那么就必须要有所动作,做相应的调整。这个调整就是架构的切分。原来是这样,那架构切分既然是为了解决问题,南无架构切分到底是为了解决什么问题还有架构应该怎样切分才算是合理呢?作者又有了这样的回答:切分是为了达到调整利益的目的,调整整个项目的运作之中产生的时间和空间上利益冲突的问题以此达到利益的最大化。作者在本章的组后部分作出了总结:

  架构的切分的导火索是人的负载太重。 架构的切分实际就是对 stakeholder 的利益进行切分或合并,使得每个stakeholder 的权责是对等的,每个 stakeholder 可以为自己的利益负责。  架构切分的最终结果都会体现在组织架构上,只有这样才能够让架构落地并推进。  架构切分的结果一定是一个树状,这也是为什么会产生分层。层数越多沟通越多,效率越低,分层要越少越好。尽可能变成一颗平衡树,才能让整个系统的效率最大化。这样看来矛盾基本上是可以通过架构切分来解决的啦。

 架构师应该承担起解决业务问题的这个角色来,专注于Business Domain和软件本身的架构,让技术人员致力于为业务在计算机中跑起来而努力。只有把这两者很好的结合起来,才能更好地完成业务的目标,才会让软件更好地服务于大家。最终一定会得到一个很好的软件架构,令软件开发团队和业务部门都能够很好地开展工作并降低成本。

posted @ 2018-03-08 17:10  宫aaaa1  阅读(110)  评论(0编辑  收藏  举报