• 架构漫谈阅读笔记


      架构,这个词一开始是从建筑方面兴起的,值得是建筑的架构。在软件工程中,架构也同样适用。那么,什么式架构?

      根据王概凯的架构漫谈,他在其中提到了架构的含义,从个人到社会架构的例子,描述了个人的能力有限,但是社会的团队中的每个人都发挥出自己擅长的一部分,为社会做出贡献。王概凯认为的架构是:“根据要解决的问题,对目标系统的边界进行界定。如何去有效的解决问题。”同样,我的理解是架构是如何开发一个好的软件项目的人的分配或者是各项工作的分配。正如王概凯所说的:“架构解决的是人的问题”。

      那么一名软件架构师,就应该很好的了解架构,如何才能做好自己的工作?

      软件架构师,大多时候都在解决问题,那么到底是在解决谁的问题呢?作为一名软件架构师首先要明白问题的主体,明白要解决为题的主体。从而了解这个主体有什么样的限制。之后再根据这个主体可以延伸出很多与之相关的问题,从而明白划分出该系统得边界。当问题的主体离架构师越远,就会让找出问题主体的过程越加困难。了解了一个问题的主体我们才能把握住问题的关键,搞错了主体将会偏离真正的问题,甚至和真正要解决的背道而驰。明白了问题的主体,我们才可能真正的认识问题是什么。因为问题的主体是问题的隐含边界,边界不确定下来,问题就是不确定的。一旦确定了主体,剩下的就是去搞明白主体有哪些问题。从一开始暴露出来的,一点点向里面寻找、探索,一点点的分析出主体、逐渐把握住问题的关键,确定问题的边界,才能跟好的解决问题。

      从某种意义上来说,谈架构就是谈分层,似乎也没有错,但是还是知道为什么比较好。从根节点下来,深度相同的是同一层。如何做好架构,关键在于如何切分问题,怎么把问题合理的分类。人类从一开始自己完成所有的工作,到一个团体集体合作,目的不就是为了更好的发挥自己的能力,随着社会的发展,分工是必然的,那如何分配谁敢什么的时候不就是把整个团体切分的过程吗?一个好的软件架构师应该懂得切分,把握切分的原则,合理的取得最大利益。实际上切分的过程就是建模的过程,每次对大问题的切分都会生成很多小问题,每个小问题就形成了不同的概念。构师更多的是要去理解这些概念,识别概念背后所代表的的人的利益。作为一名软件架构师,在切分之后应形成一个系统的模型,对于其中的问题,涉及到谁,谁去完成,应该如何去做,这些都应由相应的安排。正如漫谈中所说的“架构切分的结果一定是一个树状,这也是为什么会产生分层。层数越多沟通越多,效率越低,分层要越少越好。尽可能变成一颗平衡树,才能让整个系统的效率最大化。”

      最后作为一名软件架构师,要理解自己的身份。当今社会有很多人认为只要完成了自己的工作就可以了,但是一名软件架构师,并不是解决自己的为题,要想着如何去解决其他人的问题。我们一定要越过这个问题去看待,并不一定将我们的工作完成了,那整个项目就可以交差了。其次架构师是要去平衡别人的利益,甚至会调整别人的利益的。一旦架构师是全心全意的为别人的利益服务,自然而然的架构师就拥有了强有力的影响力,就会会当成应合格的领导者。做好一名架构师应观看大局,不能把自己的那部分工作当成我们的全部利益,即使费心费力完成了自己的那部分工作,但也可能是自己认为自己完成了自己的工作,别人的问题还是没有解决。专注于其他人的问题有助于我们锻炼自己,磨练自己,做成一名和个的架构师。

      

  • 相关阅读:
    html基础起航
    必杀技———SQL基础整理系列(一)
    JavaScript代码段整理笔记系列(一)
    与JSP的初次邂逅……
    产品第二篇
    产品第一篇
    进程在后台可靠运行的几种方法
    Vue.js模板语法
    更靠谱的横竖屏检测方法
    浮动【电梯】或【回到顶部】小插件:iElevator.js
  • 原文地址:https://www.cnblogs.com/huan-ch/p/12331944.html
Copyright © 2020-2023  润新知