最近在读一本设计模式的书,颇多感慨。虽然,以前就已经看了不少设计模式的书,对设计模式也有一定的认识,但是,却没有这么多的感慨,主要是因为这本书读起来非常轻松、通俗却不乏深层次的设计思想。
    说到设计,大家可能会产生很多的联想,譬如一件新款的西服,衬衫,裙子,又或者是一款新式的皮包,都会给人耳目一新的感觉。设计无所不在。然而,并不是所有的设计都是美的。二八现象是普遍存在的,不知道是否也可以应用到这里呢?呵呵,这个内容不在话题里,就不多说了。
    美好的事物是每个人都向往的。同样,一个优秀的设计也能让人销魂。有人会说,美不美,一看不就知道了吗,就像鲜花和美女一样,还用得着大张旗鼓、故作高雅的品味吗?其实不然。在现实生活中,有很多人并不知道欣赏美,譬如音乐之美,电影之美等等。很久以前,我参加过一个新春音乐会,很激动。但是,除了觉得好听之外,没有感受到美。好听,好看,是对艺术的一种浅层次的理解。而真正品味到艺术之美的,是需要心灵的沟通,是能产生来自灵魂的共鸣。譬如梵高的画,我是无法品味了,因为我没有那样的境界。对于程序设计,经过这么久的熏陶,我也只能品味到一点朦胧的美。
    记得大师曾经说过:“源码之前,了无秘密”。当你读到一段代码的时候,设计者的思想就已经赤裸裸的暴露在你的面前了。是好,是坏,是美,是丑,在第一眼的感觉之中,就已经能感受到。但是,如何品味设计之美呢?在这里,我们暂且不谈面向过程的C语言之类的,我们只说面向对象的语言。我觉得在这本书中有一个观点非常的好,那就是:设计模式重要的是设计的原则而不是模式。在很多的时候,我们不能为了模式而模式,不能生搬硬套,而是要自然融合。记得以前写过一段代码,暮然回首,发现,原来这种简单的设计竟然包含了好几个模式。要做到自然融合,需要深刻掌握设计的核心要诀,让这些思想融入到骨子里,血液中。正如练习功夫一样,高深的武功往往只有几句简单的口诀,而只要详加研习就能成就一代大侠。个人认为,归结起来,面向对象程序设计的核心要诀就两句话:松耦合,高聚合;多态。至于如何理解这两句话,则是看个人修为和仁者见仁、智者见智的事情。我想说的是,对于欣赏程序设计之美,只要把握住了这两点核心,你的心灵就一定会受到震撼,你会发现,原来程序也可以写的这么美的。
    我前段时间在读大师级的作品Junit的时候,就深深的为之震撼。当写程序能做到惜墨如金的时候,我相信,你一定也是大师了。