架构漫谈读后感

      把一个整体(完成人类生存的所有工作)切分成不同的部分(分工),由不同角色来完成这些分工,并通过建立不同部分相互沟通的机制,使得这些部分能够有机的结合为一个整体,并完成这个整体所需要的所有活动,这就是架构。架构实际上是基于我们对于某件事物的认识,发现问题并解决问题,以及为了解决问题所进行的实践活动。架构的产生需要一些动力:工作必须由人执行,而每个人的精力和能力是有限的,人对目标系统有更高的要求,目标系统的复杂性使得单个人完成这个系统。当这些条件同时成立时,一定会出现架构。这也就涉及到了架构产生的原因,架构是人类发展中,由懵懵懂懂地、被动地认识世界,变成主动地去认识,并更高效地改造这个世界的方法。从这一点上来说,迁移到我们的软件上来说,就是我们刚开始接触软件时都是被动的,按照要求去学习,后来我们学会了自己改进自己的程序,主动了解一些知识。渐渐地发现了自己的长处,和其他人一起进行有意识的切分,进行调整,这就产生了不同的架构。

      架构实际上解决的是人的问题。人要能够正确地认识概念,毕竟概念是人认识这个世界的基础。每个概念所解决的,是人遇到的某个特定的问题,也就是说概念即解决方案。工程师要敏锐的发现概念背后所代表的问题,进而才能够认识目标领域所需要解决的问题。做架构的时候,很多时候都是在一个新的领域内解决问题,这也涉及到人对于这个领域内知识概念的快速掌握。在我们学习一些技术之前,如果可以了解技术背后所要解决的问题,那就相当于抓住了本质,对于学习会有很大帮助

      做好架构首先需要做的就是识别出真正要解决的问题,如果不能正确识别并理解问题就会出现偏差甚至闹出笑话,例如在我们平常的表达中经常会缺乏主语,在概念中也是这样,大家都心照不宣的忽略了这个主语,沟通的时候也自以为对方会理解本句话中的主语,结果大家一起犯了错误。要搞清楚问题的主体是谁,即是谁的问题,这样也就确定了问题的边界,接下来的讨论才有意义。架构师解决的问题通常是别人的问题,而问题的提出通常是以解决方案的形式,这就需要架构师去发现真正的问题,找到问题的主体。通过对问题的分解进行架构的切分。

      那么就提到了项目的切分,切分即是一个调整的过程。因为架构还是有问题的,而调整,主要是调整利益,人和人之间最本质的关系就是利益关系。为了提高切分的效率,要切分成为树状,而不是单纯的分为很多层。软件发展的大趋势是模拟人的所有行为,基础是人的生活知识。即业务在计算机中的虚拟化。对于软件架构来说分为部署的架构和代码的架构,这也是要说清楚的,不管怎么分拆,所要实现的目标没有变,就是完成业务在计算机中的虚拟化。

      做架构师要解决别人的问题,而不单单是把他看成是完成自己的工作,不要生活在对时间的恐惧里,有理想,认清自己的利益,建立自信。架构师要去平衡别人的利益,甚至会调整别人的利益,必须是一个组织的领导人,有权利调动这个组织的架构,才能够更好的发挥架构师的作用,更好的把利益的调整落到实处。架构师不是空职,也不要把架构过程流于形式。

      技术总是在人类解决对业务的要求不断提高的情况下产生,目的也是为了获取更大更好的利益。不同的技术,通过树状结构,组合在一起,形成了一个完整的架构解决方案,共同完成业务的目标。这就是技术,业务和架构之间的关系。总的来说,架构的存在可以让团队更高效、提供更有质量的业务。

posted @ 2018-03-07 17:50  不做咸鱼  阅读(126)  评论(0编辑  收藏  举报