架构漫谈---- 读后感

   软件架构

第一章介绍了什么是软件架构。当我们懂得不同的人的能力范围以及能力种类不同的时候,对生活的要求提高,以及对人类生活的分类进行明确的判断分类,对人们的能力进行充分利用,提高生活以及各种行为的效率以及质量,然后通过建立一个沟通机制我们将各个分离出来的模块进行联合,就完成了架构。我通过这一篇文章理解的架构就是分开复杂的事物,必须是有一定规则的分开而不是乱分,然后进行每一个分块任务,之后再通过沟通机制进行联合。

  第二章介绍了认识概念架构,怎么样才能正确快速并且完整的完成架构,由于我们之后的任务以及工作中所遇到的都会是陌生的领域,所以能够正确的认识概念,能够理解概念是为了解决什么问题,就会更加容易去理解我们的任务,方便我们对他进行架构设计,所以说认识概念是架构的基础。

  第三章介绍了识别问题是做好架构的基础,每一个架构师所面临的问题都是已经被解决了的解决方案,当我们面临他们所提出的问题之后,我们要发现其真正的问题所在,首先是谁提出的问题,所遇到的问题是什么,只要做好这两点,理清楚这个思路就可以完成一个较好的架构。

  第四章告诉我们架构的切分。在我们面对问题的时候,每个人的能力不同,有的人擅长“做饭”,有的人擅长“切菜”,所以说具有一个好的切分,利用每一个人的长处,首先可以解决一些人负载过大的问题,更好的维护了每个人的利益,架构切分的结果一定是一个树状,这也是为什么会产生分层。层数越多沟通越多,效率越低,分层要越少越好。尽可能变成一颗平衡树,才能让整个系统的效率最大化。

 第五章介绍了软件工程师是实现这个模拟过程的关键人物,他必须先理解人是怎么在日常生活中完成工作的,才能够很好的把这些工作在计算机中模拟出来。可是软件工程师需要学习大量的计算机语言和计算机知识,还需要学习各行各业的专业知识。软件工程师本身的培养就比较难,同时行业知识也要靠时间的积累,这样就远远超出了软件工程师的能力了。所以软件开发就开始有分工了,行业知识和业务的识别,会交给BA,系统的设计会交给架构师,设计的实现交给架构师,实现的检验交给测试,还有很多其他角色的配合。为了组织这些角色的工作,还有项目经理。这就把原来一个人的连续工作,拆分成了不同角色的人的连续配合,演化成了不同的软件开发的模式。然后慢慢演变出专门为别人开发软件的软件公司。由于工程任务的繁重不得不迫使软件工程师将每一个工程进行划分,保证达到了架构。

  第六章介绍了软件架构所要解决的是什么问题,当我们面临一个软件工程的时候,我们必须要弄清楚业务问题,首先是业务完成的主题是什么人,业务是什么,业务是怎么完成的我们都需要能够清晰的描述出来。其次是计算机的问题,一些硬件问题的等。软件工程师需要把问题进行简单处理,然后进行业务的虚拟处理,懂得业务人的利益所在,设计到的概念,所需要解决的问题概念。什么是软件架构:软件因为流量增大而分拆成不同的运行单元,在不同的机器上部署所形成的架构,属于软件架构。每个运行单元为了让不同角色的人,比如前端,业务,数据存储等能够并行工作,所分成的代码架构,也属于软件架构。。

第七章介绍了架构师这个存在,在这一张的阅读中我明白了,架构师需要靠时间的积累以及对问题所给与自己的压力的强压下,通过一种长时间的磨练才能够帮助你成为架构师,如果只是一心一意的去完成自己的工作,那么他就只会是一个工匠。架构师是需要有能力去领导别人去分配自己的利益,权衡他人的利益的存在,需要强大的经验,以及技术的支持。

第八章介绍了我们真正想快速的完成代码工作,就要克服自己对时间的恐惧,真正的去研究业务的问题,相关stakeholder的利益,把这个变成我们的习惯。写代码的时候让该出现逻辑的地方出现逻辑,让不该出现的地方不能出现。一旦不该出现的地方出现了逻辑,那么要马上意识到,这个地方是一个坑,这个问题一定和业务的分析不透彻有关系。

第九章帮助我理清了技术,业务,架构的关系,也明白了技术,业务,架构的概念。

原文地址:https://www.cnblogs.com/shenghuizhang/p/8530528.html