“名字”与“边界”……一生最易懂,又是最难懂的东西。

道法自然……

真正深入到软件的开发,自会有所体会和感悟,可谓大道存于天地,无处不在,在蝼蚁,在屎溺,你我也在其中,在其中便多少有所迷惑,可以假设你存于这世间只一双眼,无形无力,而这双眼又在银河系某星球旁边,你会有何感想呢?有何感受呢?如果连这双眼也没有了,又有何感悟呢?

你在不在,你想不想,道都在那里,道都是那样……

PDF 版,赞~~~

万事万物你能取名的都是阳面,它的阴面就是边界,就是它的生存空间和时间限制,或者说场景前提。这是”道德经“最大的精华。

我们使用面向对象,谈到对象这个名字,我们只看到其阳面,很多人没有注意到其阴性一面,它的边界,这个边界有两种意思:在业务这个领域边界中的边界;在计算机这个领域边界中边界。

前者就是这个对象代表的是哪个业务系统,比如是论坛系统中帖子;还是微博系统中一条tweet,还是财务系统中的一个记账凭证?

后者是指这个对象生存在计算机中的内存还是数据库硬盘上?如在内存中,那么它的时间边界和空间边界又如何?所谓时间空间边界就是:时间上是一瞬间,还是存在一段时间,比如30分钟等;空间上是用完整个可用内存,还是有一定大小限制的边界。这些实际就是缓存和内存的区别。

掌握好上面对象的两个边界,你的面向对象思维就上了一个新阶段,而所有这一切都源于我们对“事物和边界互为阴阳”的基本认识论,这个基本认识论来自于几千年前我们先人老子的“道德经”。

今天事物无比复杂,我们又养成了科学解剖分析的习惯,那么你是否被培养成喜欢主观武断地割裂地看待一个事物呢?而不是认识事物背后的关系和环境因素呢?


读了banq 的文章,觉得作者已经领悟了道德经的精髓,并能用在当前,我们往往读个一两页,觉得遇到困难,就放手了,所以总是不得要领,或者识之毛皮,就如我们理解模式理论,在工作做并不能真正使用,在这里想请教banq一个问题,
场景:
假如现在要对教师认定等级(1-6级),根据一些认定规则进行判定,比如根据一张认定表进行认定,
地区 学历 工龄 学科 学科带头人 等级
按照上面的规则进行认定还是比较简单,程序也已经开发完成,但现在教育局要增加一些判定规则,比如
1,连续获得3年优秀教师的,在原来的基础上加1级,直至最高级。
2,教师连续是10年以上异地任教的,在原来的基础上加1级,直至最高级。
3,班级学生曾经获得过省一级以上的表彰的,在原来的基础上加1级,直至最高级。
4,如果教师曾经有违法并受到过拘留以上处分的,直接认定为最低级一级。
5,如果任教其间班级学生有过违法并受到过处分的,教师级别减一级。
6。。。。。。。。。。。。。。
这些条件可能以后还会有增加,后增加的条件优先考虑。
根据以上的场景,请教具体的设计模式。


实际这是一个普遍遇到的业务逻辑变化的问题,但总不能以模式来介绍它,所以想听听banq 的想法。

多谢楼上肯定,不过你这个案例是一个实在的功能实现,设计模式不是功能模式,是面向设计的模式,而设计必须先有功能。先后顺序如下:

功能-->设计--->模式--->架构

多谢banq的回复,可能我表述得不够清楚,假如就上面的场景采用一个或者几个类对教师等级进行评定(就是一个功能),主要是如何把规则的可变性和复杂性进行封装,做到符合‘开闭原则’。我个人觉得隔离规则变化主要是采用配置或者是数据库字典的方式,但正如banq所引述,“道可道,非常道”。一旦采用了固定的配置,又如何应付新的不可预测的规则变化呢?

2011年04月08日 10:22 "
slm2000"的内容
我个人觉得隔离规则变化主要是采用配置或者是数据库字典的方式 ...

是啊,采取这种方式,如果规则变化更复杂,采取规则引擎,还有工作流等等,这些都有现成的开源框架,将规则变化交给这些框架或组件完成,这些框架组件本身又提供更灵活的定制,甚至图形化界面。

多谢banq的指导,似乎略有所悟。

bong 前辈我是一个后辈小生
对于java方面很仰慕您
但同时我也对于中国的传统文化深感兴趣
道德经在一定程度上可以说是中国传统文化的根源,但从先秦到现在几千年的传承中 很多东西已经被曲解了
道德经中所描述的世界,接近这个世界的本来。道德经描述的也只是只言片语,很多东西是不能靠文字立说讲明白的
老子为传道不得以立说,但是这个说不断被后人曲解。包括您现在所理解的一样。
对于老子的解说,我向您推荐佛先生写《仿佛皙老》。

2011年08月21日 10:33 "@uling"的内容
老子为传道不得以立说,但是这个说不断被后人曲解。包括您现在所理解的一样 ...

我也在不断思考,将自己处于未知或无的状态,最近我思考得出一个结论:

老子无为思想是一种类似形式逻辑或数学的理性主义,因为生命乃至世界的本性是"有为(运动)"。道德经的"无为"倡导"无"在"为",让看不见的规律(道)发挥作用,人通过逻辑获得其中确定性。

如果说老子无为思想打开理性思考之门,那么数学 编程语言等符号演算代表的形式逻辑则是门后的一条大道。

违背逻辑的任何思考要么是悟性主义,要么是狡辩,而“仿佛皙老”好像是将道德经向禅宗的悟性主义去引导。

禅宗的教义是极端的总体论。总体论认为世界是结合成总体的,对于事物只能从总体上去把握,而不能简单地看成各部分之和。但是禅宗却走得更远更极端。它们认为世界根本就不能分成各部分。

禅宗总是反对信赖语言的表达。一旦用语言说出了某一个事物,就是在它和世界的其他部分之间划了一条界线,你就是人为地割裂了世界,于是就会陷入迷途。禅宗倡导的五层悟大概只有等死了有会有。

很显然,悟性主义和理性主义是矛盾的。

[该贴被banq于2011-08-22 09:32修改过]

我所悟到的东西没有您深,另外阅历有限
我所理解的禅宗的修行是不拘泥于表象,理解事物都要跟这个世界的本质元素联系道一块,想到一块,至于有没有走极端,我还不清楚,也许我的理解还有很多不对的地方
仿佛先生对老子的解释跟禅宗还是有区别的。佛和道所研究的东西都是同一样动西。另外禅宗溯其根源是印度佛教受道家分化的熏陶而形成的。所以能看很到道家的东西,老子的思想又是道家的一些本源性的东西。所以会觉的放佛先生的解释有禅宗的味道,但这中间还有很多的不同。就是佛和道的不同的地方。禅宗已经流传了很长时间,很多宝贵的东西已经丢了。后人继承的禅宗的思想已经变质了,有许多东西就是一些语言道理上机锋的辩论,失去其本来的意思了。

最近悟到的东西,人和世间的万物既所有的一切包括无都(这里我用天地代替)是一体的,人从无中生出来还在天地间,人身上聚集了一些天地间的一些独有的东西,成为人,而且人是独一无二的,但人还是天地的一部分,可以说天地是人,这里我说不清楚,就是说人是天地,天地也是人,这中间人可可以换位思考,可以感受到其他事物的思想,可以与之交流(这里好比参数的传递),这种理解我感觉用语言书不清楚,用于语言会有很多悖论了。

另外说一下语言,语言是为了实现人于人交流发明的,文字是语言的一中变现形式,文字也有它的局限性,最明显的,我们读唐诗的时候,都要结合诗人的经历才能更好的理解那写酸诗。同样语言有有它的局限性。这时间有很多东西是无法用语言描述的。图片,声音也是人与人,或者人与天地交流的方式。

就这些吧!才入门,很多东西还混乱着!

2011年08月26日 22:53 "@uling"的内容
就这些吧!才入门,很多东西还混乱着 ...

我给你总结一下吧:
下图是以老子的“无”为核心,向左延伸出悟性自觉为主的中国古文明;向右延伸出以理性分析为主的西方文明:
  
  中医 <---禅宗悟性自觉主义(总体论) <------ 老子的无(核心) ------->理性主义(多元论) ---->形式逻辑 -->数学科学。

所以,这也是为什么老子的“无”能被左边“悟性”解释;也能被右边理性主义解释原因。

中国古文明思维代表孩童思维;现代科学代表成人思维,如果我们都能意识到并且能驾驭这两种思维,每个人就都是天才了。


[该贴被banq于2011-08-27 14:56修改过]

最早接触《易经》可能是一次在朋友家里随手翻翻南怀瑾的书,
后来知道《易经》这一步争议颇多的书。

见过一些程序员,喜欢维氏哲学,也喜欢易经。

《百家讲坛》曾仕强的《易经与人生》有个说法:
老子是给高等智慧的人解读《易经》,孔子是给一般的知识分子解读《易经》,墨子是给平民百姓解读《易经》。

有人将《易经》批判得一塌糊涂,比较有名的如物理学诺贝奖获得者杨振宁。

日本明治维新天皇规定:不知易者,不得入阁。
唐代宰相虞世南向皇帝进言:不知易者,不可为将相。
医圣圣孙思邈:不知易者,不足以言太医。

可以看出古人对《易经》的推崇,百经之首。

《易经》成书“世历三代,人更三圣”,相互辉映的是,《圣经》先后由近四十位作者在不同的时代与地点写成。
这两部奇书的成书过程是十分耐人寻味的。

说点软件行业的轶事,超级解霸的作者梁肇新“弃软从易”,痴迷于易经的研究。
四色原型的作者Peter Coad,也早已“弃软从圣”,致力于圣经的解读。

好像是南怀瑾说的,读易经最好的状态是一知半解,不求甚解,要是你真读懂了,人生将失去一大半乐趣。

老子思想最大的用处是能够改变惯性思维;很多人觉得老子无为是一种不求进取的思想,实际上它是让你换一种思路进取。

中南大学本科线破除数学难题,获得符号逻辑杂志认可,因为搞这个问题专家已经陷入某个角度而不自知,而小伙子从另外一个角度看不是很简单吗?

这是破除惯性思维一个案例,日常生活和科学研究 软件开发都需要开拓思路,战略上方向多角度多想想。

我们再在这个案例上用逻辑试想想,小伙子年纪轻轻取得如此成就,很多专家就说要培养他,让他专门研究数学,这个思路又陷入纠结方向偏执的逻辑了,既然科学离不开发散思维,小伙子赢在换了一个角度,但是如果他和其他数学家沉入具体研究方向,也许永远没有新的发现,如陈景润一样。