架构漫谈读后感

         花了一周的时间利用课余的闲散时间,总算看完了王概凯的架构漫谈,这九篇博客从相对全面的角度对架构进行了概述。自己也对架构有了更深一层的认识。感觉作者在博客里提到的对架构的理解对我们初学者来讲帮助其实很大。架构其实就是根据要解决的问题,对目标系统的边界进行界定,然后对目标系统按某个原则进行切分,接着对这些切分出来的部分设立沟通机制。最后,使得这些部分之间能够进行有机的联系,合并组装成为一个整体,完成目标系统的所有工作。

         第二篇博客作者并没有谈及架构而是讨论了基础概念的一些问题,其实对这部分的内容感触挺深的。正如作者博文中所提及的例子,在生活中简单的事物真正让我们去描述其概念时却难以用大家都赞同的一句话来表述出来。架构是解决人的问题,而概念则代表着一个问题。做好架构所首先必须具备的能力,就是能够正确的认识概念,能够发现概念背后所代表的问题,进而才能够认识目标领域所需要解决的问题,这样才能够为做好架构打好基础。事实上,这一能力在我们学习新技术的时候也是适用的。最近开始接触SSH三大框架,感觉自己像无头苍蝇一样撞进去,回过头来才发现方向根本不对。导致时间白白从指间浪费。现在想想其实自己从最初的就根本没有搞懂structs、spring、hibernate三者具体是干什么的。其实只要花费少量的时间来了解它们分别解决了什么问题,学习起来就会非常的快速有效。因此,我们不能忽视概念背后的含义。要明白如何利用概念的理解,快速的进行学习。掌握了这些原则,会有利于帮助我们在架构阶段,开酥的识别和定位问题。

         做架构其实就是在找问题,一般来说,如果把真正的问题找到,那么问题就已经解决80%了。要正确的认识问题需要明白两个问题:1.这是谁的问题?用户的?设计师的?再就是2.有什么问题?当然第二个问题就要比第一个问题好解决多了。所以架构师其实就是在帮别人找问题。当一个问题成为问题时它就不在是一个问题了。

         把社会生活中的所有问题拆解开来都可以归结为一个字--------“利”,架构也是如此。架构的切分其实就是利益的调整。所有的切分调整,都是对相关人的利益的调整。因为维护自己的利益,是每个人的本性,是在骨子里面的。在这里作者将切分的原因分为四点:

  • 某个或者某些利益相关人员负载太重
  • 时间上的负载太重
  • 空间上的负载太重,本质上还是时间上的负载太重
  • 某个或者某些利益相关人的权利和义务不对等

  而切分的原则应遵循:

  • 必须在连续时间内发生的一个活动,不能切分
  • 切分出来的部分的负责人,对这个部分的权力和义务必须是对等的。
  • 切分出来的部分,不应该超出一个自然人的负载
  • 切分是内部活动,内部无论怎么切,对整个系统的外部应该是透明的。

  切分其实就是建模的过程,架构切分的最终结果都会体现在组织架构上,只有这样才能够让架构落地并推进。

  软件架构要解决的其实是业务问题和计算机的问题,在解决这两个问题时当然会让部分人有利益的损失。因此,架构师是要去平衡别人的利益,甚至会调整别人的利益的。一旦架构师是全心全意为别人的利益服务自然而然就有了强有力的影响力。

  在最后的博文中,作者向我们诠释了技术、业务和架构的关系。在实际的项目开发中,技术人员普遍看不起业务,认为技术更高端,而业务太低端。业务则觉得技术眼光高,但解决不了实际问题。其实在我们之中这一点体现的尤为明显,大家整天都在高呼技术的重要性。学会了几种技术,就认为自己水平恒高了。其实记得在初学计算机这个专业的时候就有老师说过,技术只是我们用来编程的手段。很多时候,学习的技术越多,越不知道采用哪种技术好。因此切记不要被技术了双眼。要想成为一名合格的架构师,准确的识别采用什么样的技术的能力也是要熟悉掌握的。

原文地址:https://www.cnblogs.com/Againzg/p/6495651.html