软件架构哲学:和而不同、知行合一、大道自然

现在各行各业都需要跨界的知识: 土木工程建筑VS软件架构。工程架构的哲学跟辩证法矛盾对立统一律其实是相通的。

本文讲12个字:和而不同、知行合一、大道自然。

和而不同:世界就是不同利益相关方的动态平衡

西周王室渐微,郑桓公就向太史伯阳父请教了周朝衰落的原因。伯阳父解释说这是因为周幽王不但亲小远贤,还排除异己、取用苟同自己的人,而之所以先王们能使天下万民“和乐如一” ,实则是因为“务和同也”, 即努力实现和谐而不是苟同。

到了春秋时期,齐国政治家晏婴更是丰富了伯阳父的这一观点,不仅仅限于君臣之道,在烹饪和乐理上也受到启发,提出了“和如羹焉”“声亦如味”,也就是说美味的羹汤需要用水、火、醋、酱、盐、梅来烹饪鱼、肉而成,美妙动听的音乐是由不同乐器、音律、声调相互搭配、相互调节而成。

简单说,“和”就是“各得其所” 。首先要多元,其次才是统一。各个成分、各个局部都有其自己的地位,然后一起构成一定的关系,这种相辅相成之后达到了和谐稳定,这就是“和”。

总的来说,他们都是提倡“尚和去同”的,“和”是相互调和达到平衡,而“同”只是相同事物的累加,看似总量在增加,价值却是逐步递减的,因此只有“和”才是更有意义的。

架构师是在很多复杂的利益相关方中看到很多问题,最后有一个共同的“和”,所谓,“全局最优”那就是“和”的部分,只有项目做成了,所有的工作才有意义;所以“和”的部分是大家统一的部分,但我们必须要接受不同利益相关方的不同。作为一个架构师要看到“不同”背后是有原因的,不是简单的归纳为一个因素;如果作为架构师不去追问这件事,很多时候我们的方案落不了地。

知行合一:战略规划和落地执行层面的一致

    

我们写了一个很好的方案,但这个方案到底能不能落地,能不能执行,我们是需要有把握、有底气的。这时候就要求我们要“知行合一”。

如果问题解决方案不一定能够被落地执行,这时候不是个人出现了知行合一的偏差,而是我们这个组织在执行层面与战略规划层面出现了巨大的落差。

架构师是复杂方案的核心贡献者,关键决策者,这个决策背后也是有相应的责任在里面,如果架构师做的决策不是通过“知行合一”的基础而来,那么对组织的危害将会非常大。“知行合一”,战略规划和落地执行层面的一致程度,是影响组织发展的核心因素。这里面组织数字化、智能化,数字孪生,物联网等将是很好的洞察组织的技术工具。

大道自然:顺势而为

老子认为,“道”是天地万物的本源,是万事万物存在与变化的普遍原则和根本规律。软件架构这个事业,其实也是在创造新事物,在这个过程中,要遵循万事万物存在与变化的普遍原则与根本规律。在软件架构工作中我们必然会遇到一些事情与问题,必然需要用到一些方法,用一些创新的思路去解决。

另外一个问题是我们的架构中能不能接纳一些不完美,我觉得这可能是架构师经常要面临的问题。如果架构师写代码的时候是clean code,是有洁癖的程序员,但做架构的时候如果是一个完美主义,那么,你可能不是一个“真正优秀”的架构师。因势利导、因地制宜的部分是我们需要在项目关键点中结合的。还有一个原则是“业务的可持续性”,就是要我们在高速上换轮子还是换引擎。因势利导在架构师的群体中是应该要具备的。

小结

计算机行业还很年轻,这个行业的沉淀和积累,可能不及建筑业,不及很多其他行业,但是,我们可以学习建筑行业几十年的精华部分,从中得到成长、进步。

猜你喜欢

转载自blog.csdn.net/universsky2015/article/details/113977599