眼中之竹,胸中之竹与手中之竹

清代画家郑板桥论画竹,有“眼中之竹”、“胸中之竹”和“手中之竹”的说法,这是对领域建模绝妙的隐喻。

郑板桥是清代书画家、文学家,“扬州八怪”之一,画竹冠绝一时。他曾经这样描述过画竹的技巧:

江馆清秋,晨起看竹,烟光日影露气,皆浮动于疏枝密叶之间,胸中勃勃遂有画意。其实胸中之竹,并不是眼中之竹也。因而磨墨展纸,落笔倏作变相,手中之竹又不是胸中之竹也。总之,意在笔先者,定则也;趣在法外者,化机也。独画云乎哉!

虽然此处郑板桥先生只是在谈论画竹的技巧,但这段论述却超越了具象的绘画领域,具有普遍性的意义。在我看来,它是对领域建模的绝妙隐喻。

1
2
3
眼中之竹——问题域,即现实业务领域
胸中之竹——领域模型
手中之竹——解决方案域,即所开发的软件

“眼中之竹”是独立于观察者的客观存在,在软件开发中,就是“问题域”,即现实业务领域。“手中之竹”是开发出来的软件,是开发者设计和实现的产物。软件存在的价值是为现实业务领域的问题提供可行的技术解决方案。在两者之间有一个必不可少的媒介,这就是反映开发者对现实业务领域的认识和理解的领域模型(关于业务领域的概念模型),它就是开发者的“胸中之竹”。

“眼中之竹”是独立于画家之外的客观世界,“胸中之竹”是客观世界的竹子在画家脑海中的反映,而“手中之竹”是画家的创作,是客观世界的竹子的艺术再现。同理,问题域是独立于开发者和软件之外的客观世界,领域模型是问题域在开发者心目中的反映,而解决方案域(软件)是领域模型的技术实现,解决了问题域中的问题。

这里体现了“物”、“我”的关系。“物”有两个:自然存在的竹子和画家的绘画作品,前者是天然存在的,而后者完全是人造的。“我”是画家本人。

这里最关键的是“眼中之竹”、“胸中之竹”和“手中之竹”三者的关系,是:

1
似而不同

“胸中之竹”是对“眼中之竹”的反映,“手中之竹”是“胸中之竹”的再现,此三者必然是相似的。不可能眼中是竹,胸中是狗,手中画出来的却是一座山。

另一方面,胸中之竹不完全等同于眼中之竹手中之竹也不完全等同于胸中之竹

能否忠实再现眼中之竹的形貌,与画家本人的观察力和绘画功力有很大的关系。虽然“胸中之竹”是“眼中之竹”的反映,但环境和个人因素却会高度影响这种反映的精确度。就如同镜子里的影像是照镜的人的相貌的反映,但如果镜面是弯曲的哈哈镜,影像就会严重失真。同理,如果我们戴着红色的墨镜观察竹子,则胸中之竹的叶子就不再是绿色的。这时候,模型不再忠实反映现实。同样地,受限于个人的绘画功力,手中之竹往往也难以纤毫毕现地重现胸中之竹,因此绘画的价值也会大打折扣。当然这是正常现象,否则人人都是画家了。

即使画家水平十分高超,胸中之竹仍然不是眼中之竹,手中之竹也不完全是胸中之竹。现实世界是趋近于无限复杂的,胸中之竹既不可能也无必要完整复制眼中之竹。画家的胸中之竹,有枝有叶,有根有节,但没有导管、筛管,没有细胞、纤维素,没有三羧酸循环和光合作用。画家的胸中之竹只选取竹子的外观这一维度,而且只会选择外观的一部分,而不会精确复制每一枝每一叶的形状和位置。有选择有忽略,有重点突出有淡化处理。同样地,在将胸中之竹转化为手中之竹的绘画过程中,也需要根据画布、颜料和画笔的具体特性,随物赋形,不会拘泥形迹,强求形似。概念模型(胸中之竹)只从大处着眼,不会限制临时发挥(手中之竹)的自由。

郑板桥在这段话的末尾,还提了这么一个说法:

意在笔先者,定则也

在开始动笔描绘“手中之竹”之前,必须首先在心中建构“胸中之竹”,这是一个基本法则,否则就是鬼画符。好笑的是,很多(大半?)软件开发者在开发一个软件之前,根本没有进行任何领域建模工作。他们只是根据一个UI原型,抽取出要存储和展现的数据,就开始开发软件了。不但没有领域建模,甚至没有需求建模!

趣在法外者,化机也。

领域建模有工程的成分,更有艺术的成分。有基本法则,但合适的时候更要打破常规。王维画《袁安卧雪图》,出现雪中芭蕉。世人皆认为画错了:冬天里岂能有碧绿的芭蕉?但慧洪苏东坡等人却认为这正是王维的神妙之处。慧洪在《冷斋夜话》中说:“诗者妙观逸想之所寓也,岂可限心绳墨哉!王维作画雪中芭蕉,诗眼见之,知其神情寄寓于物;俗论则讥其不知寒暑。”。为什么这么说?(注意:以下言论纯属装B!)王维是学佛之人,对佛学非常沉迷,以至于他的名(维)和字(摩诘)就是来自佛教人物维摩诘。先看芭蕉与佛教的渊源。在佛学里,“芭蕉”同芦苇、水沫等物质一样,是一种“不坚之身”,如《涅槃经》所述:“当观是身,犹如芭蕉,热时之焰,水沫幻化。”“喻身不坚,如芭蕉树。”“亦如芭蕉,内无坚实,一切众生身亦如是。”《维摩诘经》云:“是身如芭蕉,中无有坚。是身如幻,从颠倒起。是身如梦,为虚妄见。是身如影,从业缘现。”结论是:“如此身,明智者所不怙。”就是说:要修炼成佛,必须抛弃这个“芭蕉之身”!再看与佛教的关联。佛经故事:释迦牟尼曾经入雪山修行,被称为“雪山大士”或“雪山童子”。王维晚年近乎僧侣,潜心佛学,不一而足。他的画正如元人汤垕在《画鉴》所论:王维“平生喜作雪景、剑阁、栈道、骡网、晓行、捕鱼、雪滩、村墟等图。”看到这里,我们就可以明白,雪景原来是一种修行的境界。这样看来,王维的《袁安卧雪图》其实就是一幅佛教的宣传画。在佛理这一主旨之下,绝不相容的芭蕉和雪也可以和谐共存。