首页 > 代码库 > 天行有道

天行有道

为什么要写这样系列的博文?

其实,类似于这种反思的文章,很早以前就想写了,只是一直都忙于工作,慢慢的也就懈怠了,今晚失眠,就把自己的一些经验给大家一同分享一下。

不知不觉,自己进入这个软件开发的行业已经两年了,想当初自己刚刚踏入这个行业的时候,连个HelloWorld写起来都那么费劲,IDE什么的完全不理解,然后前端后端傻傻分不清楚,两年过去了,自己带着阿弟们扛过了一道有一道的难关,慢慢的,自己也不在那么懵懂了,这些个文章就算是给自己的一个回顾吧。

说些什么??

今天主要想给大家分享一些指导我的一些方法论或者是日常好的一些行为习惯,我不想说这些东西对你有多大的帮助,至少你看到这个以后能有一些启发,我觉得对我来说,我的目的就达到了!

天行有道

我始终相信,假如你不懒惰,所有的各种技能,你花时间都是能够学会的,可是如何快速高效的去学会某一项技能或者技术,这才是我想说的。这种技能不仅仅是在计算机领域有用,在其他生活的各个方面也是相当的有用的,所以希望大家都能够掌握这种学习的技能并且高效的帮你完成很多的生活中的事情。

“天行有道”

我想大家都应该听过,也应该知道,他是什么样的意思,但是,我还是想在这里更大家讲解一下他深层次的意思。

所谓“天行有道”,应该是出现在道家的思想里面的一句话,假如我没有记错的话,把它翻译过来之后的意思大概就是“自然界所存在的万事万物,都是有自己一套运行的规律的,所以,我们需要做的是遵循这些事物的发展规律而不是去违背”。

所以,在你做任何事情之前,我非常希望你能在你的脑海里能够多次回想这句话,因为这句话,我认为他是你做事情的根本,也许你不能接受或者怎么样,套用非常流行的话来说就是“你在乎,或者不在乎,规律就在那里,不离不弃”。再高大上点,这就是“道”。

举几个例子:

代码中的道--高内聚 松耦合

代码之道,高内聚,松耦合 这样换来的结果是让你轻轻松松的去维护和修改,然后按时上下班,享受美好人生,假如你颠倒过来,那么 换来的就是无止境的加班和重复的劳动,所以,这就是“道”,你可以违背,也可以遵守,但是两种不同的方式,直接带来两种完全不同的结果。

生活中的道--天行有道 替天行道

生活很神奇,因为在这个圈子里面,我们经常需要扮演不同的角色,在公司,我们也许是CTO,CEO,CFO,或者之类的,但是,一下班以后,你可能需要变换不同的角色,此时,我们可能就要遵循处世之道,因为你要想玩转整个世界,你必须要知道这个世界里的游戏规则!!

我不想在这里熬鸡汤,因为大家都是千年的狐狸,没有必要玩什么聊斋,我说这些只是想说明,道乃万物之根本,他确确实实是存在,并且左右着事物的发展趋势。正因为我们知道“天行有道”,然后我们才能“替天行道”。


道生一,一生二,二生三,三生万物

这是道家里面非常经典的话语,他非常简单粗暴的展示出了事物之间的某些联系,假如你看不穿,请听我细细道来。

举个例子

在我们软件开发的过程中,有一个叫SRP的原则,也就是我们常常说的单一原则,他大概告诉我们就是说,要把事物的组合结构进行分解成一个单一的不可再分的功能或者模块、可是从来就没有人想过这后面的原因,小弟愚昧,只能领悟其中的一点点意思,各位看官可以好好审判一下是否正确。

我们分解的原则都是基于某种业务的规则,我们把这个规则称之为"道",然后根据这个规则去设计相关的类,然后在用类之间的关系关联其他的类,比如 is-a has-a 等等

那么我们映射一下:

通过规则,我们确定了单一的类,此过程为 “道生一”

在我们定义了各种单一的类以后,我们又通过各种关联关系 组合成了更加高级一层的类,此过程为 “一生二”

然后我们再不断的进行更加高级的组合 我们有得到了各种其他的组合类对象,此过程为 "二生三"。

各种不同的类对象再发生不同的关系,最终,“三生万物”。

如果还不明白?那就来个比较简单的例子:

木块,锤子,钉子  他们之间是独立的,但是又是有联系的?何解?

把他们单独放开,木块是木块,锤子是锤子,钉子是钉子,这就是解耦。

可是,当他们按照某种规则联系到一起的时候,他们又是有联系的,比如加上一套做椅子的规则,那么他们的组合体就是椅子。按照桌子的规则,他们就变成了桌子。当然,你按照飞机的规则,你也可以搞个飞机出来。

所以,有引出一个新的问题,就是在面对对象的过程当中,如何算是比较满意的解耦,你们可以好好体会一下这个木块,锤子,钉子的典故,做到看似木有关系,但是经过某种关系的组合,又能够发生关系。谁说不是了?

总结一下

假如你不知道我以上都说了个啥,那么你就看这段文字吧。我想表达的意思就是 在做事之前,你要明白“天行有道”,要先找规律,这样能够保证方向不会错,然后在做事的时候,一定要想到世间万物都是从简单到复杂的,所以 要时刻记住“道生一,一生二,二生三,三生万物”。这样至少能够保证你方法上不出错。


说明一下

这一个系列的博文,主要是讨论方法论的问题,也可是说是哲学问题,哲学是科学中的科学,当很多事情科学解释不了的时候,那么这个问题就是哲学的范畴了。希望看到这个博客的有缘人能够明白我的用心,只有知道“天行有道”,然后在“替天行道”。


天行有道