“道可道,非常道;名可名,非常名。”这是我们老祖宗老子《道德经》中开篇的两句话,意思是:可以用语言描述的道,不是真正的道;可以用名字来命名的道,这个名字也不能形容妥当。其终极思想是,由于人的认识的局限性,我们所说的道,都只是真正道的一部分,无法窥见道的全貌。当然老子后来又在《清静经》中说:“吾不知其名,强名曰‘道’”。也就是说:“这个‘道’字虽然不肖,但我(老子)还是先把这个终极真理叫作‘道’好了。”
“道”,可作道理、途径、真理、方向、方法等解释。按照老子的说法,世界万物都有其本质和终极真理,但是“吾不知其名,强名曰‘道’”。在现代,人们已经把“道”作为事物的本质了。
C.亚历山大[1]在其著作《建筑的永恒之道》一书中说:“建筑或城市只有踏上了永恒之道,才会生机勃勃。”亚历山大在书中描述了253个建筑模式,并首次提出了“模式语言”一说,算是“模式语言说”的开山鼻祖了。他曾领衔撰写了5卷关于建筑设计的丛书[2],其中前两本《建筑的永恒之道》和《建筑模式语言》最为知名。
很多的技术人员和非技术人员都听过模式,例如管理模式、思维模式、商业模式、建筑模式、设计模式等等,对它有着无限的迷恋。很多行业与领域里也都有模式一说。在软件领域,大名鼎鼎的面向对象的23种设计模式更是无人不知,无人不晓。那么,到底什么是模式呢?
模式(pattern)是解决某一类问题的方法论。把解决某类问题的方法总结归纳到理论高度,就是模式。它是一种指导,是一种解决某类问题的最佳实践。借助于模式,我们可以利用前人的经验和智慧,做出优良的设计方案,达到事半功倍的效果。模式语言则是模式对应于那些使建筑美妙的深刻观察的模式集合,是对如何建造的认识的总和。建筑的永恒之道正在于建筑模式,在于我们对建筑的认知达到一致,即拥有共同的模式语言。
一点题外话:
按照《建筑的永恒之道》的说法,在古代,农民都是自己造房子,他们自己都有模式的直觉;在工业化时代,人们以为自己不能设计,必须倚靠设计师,而设计师也耽迷于流行的模式而设计出没有活力的东西。所以我们缺少的是模式之道,或者说不知道怎样鉴别什么是有“活力”的模式。如今的软件领域何尝不是如此?我们就见过很多牛逼哄哄、所谓的架构师和设计师,他们讲起模式来一套一套的,但是设计出的软件架构奇烂无比,有的甚至不会将架构转换为框架,实在是比古代的农民差远了。我们认为,做软件的同仁们,如果你想真正地成为一个优秀的架构师或设计师,《建筑的永恒之道》这本书是必读的。它告诉了你什么是道,模式之道。这个道才是灵魂,才是核心。这个道是使之“有活力”,而不是生搬硬套。如果有时间再读读第二本《建筑模式语言》。最后还有个小提醒,优秀的架构师、设计师不是读了几本大师的著作就能成就的,他们也是在 “理论—实践—总结—再理论—再实践—再总结”这样的长时间循环中磨练出来的,而且我们认为这个时间至少要7-8年以上。
在《建筑模式语言》一书中,C. 亚历山大将模式分为三个部分:
首先是此类问题所在的上下文(Context),即当前模式所面对问题的周围环境和状况,也就是说,模式在什么状况下发生作用;
其次是动机(Motivation),即此模式的目的或预期的目标是什么;
最后是解决方案(Solution),即为达到预期目标或解决此类问题所采用解决方案的核心。
通过上述描述,我们可以得出结论,模式实质上就是从不断重复出现的事件中发现和抽象出的规律,是解决问题所形成经验的高度归纳总结。只要是一再重复出现的事物,就可能存在某种模式。而当一个领域逐渐成熟时,自然而然就会出现这个领域的模式。借助亚历山大的模式理论,GOF在软件领域提出了23种设计模式。同样,在流程领域也自然而然地出现了“工作流模式”。
本书的名字《流程的永恒之道》套用了亚历山大的经典名言:“流程只有踏上了永恒之道,才会生机勃勃。”那么流程的永恒之道是什么呢?在本书中,我们将会依次为读者讲解三个永恒之道。本章首先讲述第一个永恒之道,即流程万变的永恒之道——工作流模式。
工作流模式作为流程的灵魂,是时间无关的(timeless),它与人、文化相关,不会随着时间和新技术的发展而落后,因此可以称之为永恒的。道德经又曰:“道生一,一生二,二生三,三生万物。”把这句话套用在工作流模式上非常准确,工作流模式可以生一,生二,……,最后生万物,演化出无数个不同模式组成的流程。可以说,没有工作流模式就没有流程,工作流模式是流程万变的永恒之道。接下来,我们就围绕工作流模式展开,看看流程万变的永恒之道——工作流模式是怎样来生一、生万物的。