码迷,mamicode.com
首页 > 其他好文 > 详细

架构漫谈博客读后感之软件架构师如何工作

时间:2018-03-06 23:19:41      阅读:185      评论:0      收藏:0      [点我收藏+]

标签:基础   测试   感受   建筑   体验   内容   掌握   body   通过   

架构漫谈(资深架构师王概凯执笔的系列专栏)博客读后感。

  其实谈起架构,首先要知道架构的真正含义为何?正如架构漫谈中所提到的,架构是处理和计划、设计、构造建筑和其他物理上的结构的产物,这段定义虽然是以建筑为主体的,但软件行业的架构也与之相符:根据要解决的问题,对目标系统的边界进行界定(即上下范围图);并对目标系统按照某个原则进行切分(切分的原则,要便于不同的角色,对切分出来的部分,并行或串行开展工作,但一般选择并行来减少时间);对切分出来的部分,设立沟通机制;根据沟通机制的展开,使得这些切分出来的部分进行有机的联系,合并组装为一个整体,完成目标系统的所有工作。通过识别、分解、合并所遇到的问题,得到对问题的分析,以及解决问题的方案。

  此外,要明白的是架构解决的都是人的问题,但做好架构所首先要必须具备的能力就是能够正确的认识概念,能够发现概念背后所代表的问题,进而才能够认识目标领域所需要解决的问题,这样才能为做好架构打好基础。正如今天开学第一天的小测试,老师告诉我们要回答一个有关“你对xxx的认识”的问题时,首先要知道xxx是什么概念,然后需要将如何实现xxx进行告知,这样才能达到问题的关键。所以说,正确认识概念在我们迅速进入一个新的领域以便解决问题具有巨大的作用。

  做好一个架构师首先需要做的是识别出需要解决的问题。但我们往往由于过于关注解决问题,急于完成自己的工作,而不关心“真正的问题是什么”而造成的。当我们去解决一个问题的时候,一定要先把问题搞清楚,即为识别问题。而识别问题的一个最大的前提就是要搞清楚是谁的问题,紧随之后问题的边界也就跟着确定了,再去讨论问题才会有意义。找出问题的主体,才是是做架构的首要问题,当明白了问题的主体,我们才可能真正的认识问题是什么。因为问题的主体是问题的隐含边界,边界不确定下来,问题就是不确定的。一旦确定了主体,剩下的就是去搞明白主体有哪些问题。这个就比较直接了,常用的方式就是直接面对主体进行访谈,深入到主体的工作生活当中,体验并感受这些问题,甚至通过数据的反馈来定位问题。(当无法定位是谁的问题的时候,最好的解决办法就是去降低问题发生所带来的成本,尽量隔离问题影响的范围,以便留出更多的时间和空间来静心地识别真正的问题)。

  当然,识别出需要解决的问题后,有时候会需要作调整,必须有所动作才能更好的解决所识别出的问题,即为架构的切分,此部分也是一个软件架构师所需要真正精通的一个内容。切分就是利益的调整,每个人都希望把自己的利益最大化,但每个人的能力和时间都非常有限,所以需要对自己不擅长的东西进行舍弃,用自己擅长的东西换取别人擅长的东西。架构师所需要掌握的切分的原则是:必须在连续时间内发生的一个活动,不能切分;切分出来的部分的负责人,对这个部分的权力和义务必须是对等的;切分出来的部分,不应该超出一个自然人的负载;切分是内部活动,内部无论怎么切,对整个系统的外部应该是透明的。

 

未完待续......

  

架构漫谈博客读后感之软件架构师如何工作

标签:基础   测试   感受   建筑   体验   内容   掌握   body   通过   

原文地址:https://www.cnblogs.com/zhangjiabei/p/8516811.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!