20210304
上层建筑与下层社会之间的区别在于上层社会具有规定的秩序,所有的活动都是井井有条的。对于软件工程而言,我们初入门时仅仅只是需要通过编程来解决相关的问题,仅此而已。对于编写软件的效率以及编写出来的软件质量,我们很少关注,或者知道漏洞却不去解决。
我对软件架构的初步认知便是通过软件架构,我们可以提高编写软件的效率,并且提高软件的质量,对于软件的运营和后期维护具有极大的好处。漫谈中通过引用人嘞社会的发展来解释架构。向同岱都是从无序到有序,从没有规划到有规划。软件工程也是在不断进步和发展的。因为人的存在,人类对制度和框架的运用,人们对软件效率和质量的需求。人们不断将自己的知识运用到这里面来,软件工程不仅仅只是软件编程。构架、管理等各方各面的知识互通互融。
因为架构是对知识的运用,如何进行架构具体取决于人们自身对知识的认识和理解。作为软件的创造者,对于软件所解决的问题以及软件自身的问题都需要考虑周全。随着问题困难程度的日益增加,软件的复杂程度也是逐日递增。传统的软件编程方法或许也能解决问题但就像马车与汽车的差别一样。效率的差距以及是否可维护。架构决定了汽车的形状,从而能有效地将相应的部件组合起来,让汽车跑起来。架构使得汽车得以批量生产和发展。对于软件来讲,架构具有相同的意义。
在工作中,我们往往只是致力于完成自己的工作,那么最多只能成为一个工匠。因为这个过程解决的还是自己的问题,使我们对自己能力的不自信。 当我们跳出这一层面去发现问题,去给别人指出问题并给出解决方案这样才能当一个架构师。当别人发现问题分配给你去解决,就算你解决了这也是不能体现你的价值的,因为任何一个人都可以做到。而且别人给出是解决方案并不一定是最好的,也许是不恰当的,这样就算我们完成了工作,对别人来说也是没有完成的,因为我们并没有真正的解决别人的问题。
这也说明,我们对自己所从事的工作,还没有足够的自信,我们解决自己的问题还有困难,才不会去思考更深层次的问题,而只是局限于完成工作的这条线上。
架构师必须有自己的思想。架构师必须有权利调动这个组织的架构,才能够更好的发挥架构师的作用,更好的把利益的调整落到实处。