这篇博客是阅读架构漫谈九篇博客之后围绕软件架构师如何工作撰写的一篇博客。
首先认识架构也就是知道理解架构的概念,明白什么是架构才是做架构师的第一步;由为什么会产生架构而引出什么是架构,作者通过讲授群体中生存需要分工,每个人做自己擅长的事情,不同分工的角色合作完成这些事情,从而产生了架构;
架构的概念是:
- 根据要解决的问题,对目标系统的边界进行界定。
- 并对目标系统按某个原则的进行切分。切分的原则,要便于不同的角色,对切分出来的部分,并行或串行开展工作,一般并行才能减少时间。
- 并对这些切分出来的部分,设立沟通机制。
- 根据 3,使得这些部分之间能够进行有机的联系,合并组装成为一个整体,完成目标系统的所有工作。
认识概念的误区,如何有效的去认识概念,明白概念背后的含义,以及如何利用对概念的理解,快速的进行学习;在文章的开始讲述了什么是相?究竟什么是相来引出概念的含义:每个概念实际上所解决的,还是人遇到的某个特定的问题,我们把解决问题的解决方案,给定了一个名字,这个名字就是对应的某个特定的概念,从而知道认识概念是一个抽象的过程;根据架构的定义,要做好架构所首先必须具备的能力,就是能够正确的认识概念,能够发现概念背后所代表的问题,进而才能够认识目标领域所需要解决的问题,这样才能够为做好架构打好基础。
找出问题的主体,是做架构的首要问题;学会识别问题,找到真的问题是什么;在识别问题之前要搞清楚:是谁的问题。搞清楚了是谁的问题之后也就确定了问题的边界,讨论问题才有意义。做工作任务之前识别问题的主体,真正解决是谁的问题之后才是真的的完成任务,把自己的问题进行解决;
做好架构之架构切分;理解切分就是利益的调整,每个人必须要舍掉自己的东西,才能够得到更多的东西(舍掉一些自己不擅长的东西,用自己擅长的东西去换取别人擅长的东西);明确了解切分的原则:本质上都是时间上的负载。1、把时间上连续的动作,切分成时间上可以并行的动作,在空间上横向扩展;2、维护自己的利益;架构切分的结果一定是一个树状,这也是为什么会产生分层。层数越多沟通越多,效率越低,分层要越少越好。尽可能变成一颗平衡树,才能让整个系统的效率最大化。
理解软件,运用架构思维,更好的设计和实现软件;在硬件上编写出的程序,就是软件,是用来控制硬件的行为的,为了使成本变低,把原来只有人才可以做的事情交给计算机去做;程序从早期由一个人完成,也逐渐变成了由很多不同角色的人共同合作来完成;软件的本质,其实就是通过把人类的日常工作生活虚拟化,减少成本,提升单个人员的生产力,提升人类自己的利益;
软件架构是要解决业务问题跟计算机任务;了解业务问题的本质是业务所服务的对象的利益问题,能更好的搞清业务的概念和组织方式;