自从在业界刮起一股模式飓风后,笔者也被这股风卷入到模式研究的队伍大军中。书是买了不少,包括圣经级的《设计模式》、《重构》、《敏捷》、《java与模式》等等,但让我最有感触的还是刘艺老师写的《Delphi编程模式》,也许这原于我是Delphi出身吧。不知道其他人有没有和我一样的感觉,虽然其它书也能看懂,但就是有点蹩劲。
读完这本书后,最大的感觉就是体会到了模式的实质和核心。两个字概括“抽象”。不管是23种模式中的哪一个,都离不开这两个字。也许大家不认同我的想法,但是我觉的至少有点道理吧。
这些天一直有人在和笔者讨论以前做过的项目中,存在哪些设计上的不足之处。当然,也有好多人在大谈“我们没有用到XXX模式,代码应该重构”云云。说到这,我想起来徐峰(如果大家常看《程序员》,应该对他有所了解吧)经常对我说的一句话,“不要让模式禁锢你的思想”。这句话我理解为,“不要为了模式而模式”。此时此刻,我想起了落魄的中国足球,南斯拉夫教练在山东取得了联赛冠军,OMG,各个俱乐部似乎发现了金山,刹那间中国成了南斯拉夫教练的天堂。结果呢?是球迷的程序员们应该清楚。同样,现在许多人在高举设计的大旗,却依然写着千篇一律的过程代码。那些人只是在谈论而已,并没有深入研究下去,这也是中国软件业的劣根!(有点跑题了)
笔者认为,模式只是前辈们总结出来的经验而已,它并不能保证什么,更不能向程序员许诺什么。只有真正理解了OO的真谛,模式的概念自然而然的也就清晰了,在设计时,也就不用套用什么XXX模式了。就像剑法的最高境界一样:手中无剑,心中有剑。
因为笔者特别喜欢看纪实片,喜欢真实场景。所以笔者一直期望有这样的一本书:以一个真实的项目为背景,其中包含了分析、设计、编码、测试、部署、配置管理等等方面,再现一个项目的真是开发过程。无论此个项目是失败还是成功,都由读者去评判。从中我们可以学到许多真实而实用的东西。但愿此类书尽快诞生。