小菜编程成长记(十四 设计模式不能戏说!设计模式怎就不能戏说?)

(续上篇)
         次日,小菜来到大鸟处。
       “大鸟,你在写什么东西?”小菜看到大鸟的电脑上开着记事本。
       “哦,我打算写篇博客,名字就叫《设计模式不能戏说?》”大鸟解释道。
       “嘻嘻,废话,这又不是电视剧《戏说XX》,可以乱讲不负责任,设计模式戏说了如何讲得清楚。怎么突然会想起来写这样的文章?”
       “你知道为什么《Head First Design Patterns》(深入浅出设计模式)一直没有翻译成中文吗?”大鸟不答反问道。
       “不知道,这本书国外出版好久了吧,得了Jolt大奖后,英文影印版在2005年国内也有出版了,近三年来一直不见中文翻译版本的出现,我也很奇怪,里面的英文其实也不算太难呀。”
       “这就是因为在国内有一种观念,设计模式是不允许被戏说的!”
       “戏说?那本书里写了很多生活中趣味的例子,又是鸭子又是匹萨店的,很有意思,我觉得这样写很生动,你指的戏说是这个?出版社不至于就因为这样而不翻译吧?”
      “谁知道呢,反正没出版我们只能自己去猜想原因了。”
      “不如你把它翻译了,去找出版社发吧,这书这么好,一定大大地有销量。”
      “小菜说得轻松。你可以想象一下这样的场景:我通宵达旦、卧薪尝胆、励精图治把这本书翻译完,欢天喜地、兴高采烈、手舞足蹈拿着稿子到了XX出版社,XX出版社的大编辑看了后说:‘大爷,您走错地儿了,到隔壁楼的出版社更合适一些。’于是我再怀着心神不宁、忐忑不安、焦急上火地跑到隔壁楼,却被门卫拦住,我抬头一看门牌——顿时怒火中烧、单脚蹬地,破口骂娘!
      “你看到了什么?”
      “儿童画报社!”

 


      “,大鸟,说相声呐,搞笑呀!怎么可能呢?这书只不过图文并茂,通俗易懂而已,讲得可是实实在在的设计模式。”小菜大笑说道。
      “怎么不可能,昨天一技术杂志社编辑找到我,说想和我约稿。我一想,最近教你的那些东西还很有意思的,也是我多年开发学习的经验积累,写写也不错。我问他能不能写成对话方式,他说不行,他们的杂志面向中高端用户,文章需要中规中矩。我觉得这其实也不算难,于是就写了一篇设计模式的文章。花了大半天时间,尽管去掉了以往对话中的调侃,算是很认真的正统了一把。不过正所谓当戏说已成习惯,想改都难。所以文章一给他看后,他很客气的说,‘您写得很认真,但是非常抱歉,不能采用’。”大鸟情绪开始有些激动,“我强压怒火,追问其原因,才得知是语言不专业、文章没深度,问他如何才叫语言专业,文章有深度。他给发了一篇样稿。小菜你可以看看?”
       “《设计模式*************应用》(省去标题多字)”小菜望向屏幕,读了文章标题,扫了内容一遍。
         …………
       “大鸟,这文章里面都是理论的东西,有点象论文,太深了,我看不太懂哦。”小菜实话实说,“不过,人家不是说了吗,面向中高端用户,我们这种菜鸟是没能力看这文章的。”
       “哈,小菜也够谦虚,这下你明白了吧,《Head First Design Patterns》是不能出中文版的,因为它竟敢把如此神圣的高深的设计模式,写得如此通俗浅显,连菜鸟都读得懂,实在是太不给专家们面子了。”大鸟说,“当然细细想想,我那文章的确语言啰嗦、内容粗浅,不能发表也是可以理解的。换位思考,人家办个杂志也不容易,怎能随便冒被骂浅薄的风险。”
         大鸟接着问道:“最近有听说过于丹这个人吗?”
       “哦,你是说那个被称为‘学术超女’,在央视的《百家讲坛》讲课的于丹吧,最近好象新闻里有什么‘十博士联名批于丹’的消息,不过具体是怎么会事不清楚。”小菜说道。
       “你有空可以去网上搜搜看,已经吵翻天了。那个所谓的十博士说要让在古典文学方面只有初中文化程度的于丹下课,并且为她的错误向全国人民道歉。你觉得是否荒唐?于丹讲的《论语》、《庄子》可能是有些地方解释不准确,举例有曲解,但和她将这些语录结合人生哲理和时尚元素,使得更多的人,特别是吸引了当下的年轻人去了解中国传统文化相比,贡献就远远大于瑕疵。实话说,《三国演义》我是读过的,所以听易中天讲不过是换种思路,《论语》《庄子》可真是没看过,我也相信现今99%的年轻人如果不是于丹是不会去接触这些老古董,现在于丹火了,孔子庄子也跟着就火了,这其实是大大的好事。”
      “是呀,年轻人也不是傻瓜。照本宣科的教育谁要听呀?我在大学里学了半年的面向对象,都不明白为什么要Object Oriented,这几天天天用设计模式,理解面向对象就深刻多了,我感觉面向对象的发明真的是奇迹。”
      “我不知道现在大学里是否讲设计模式,但我能想象,如果老教授上课开口就说:‘今天我们讲桥接模式。’下边先倒下三个睡觉的,‘这个桥接模式是一个非常有用的模式,也是比较复杂的一个模式。…………’,此时又倒下五个做梦去了。‘桥接模式的用意是"将抽象化(Abstraction)与实现化(Implementation)脱耦,使得二者可以独立地变化’,估计此时梦周公的人已经不下一半。…………‘艾水娇同学,请问今天讲什么设计模式呀?’老教授有些气愤,突然提问一个趴在桌上的学生。‘今天讲的是……是……’小姑娘迷迷糊糊站起来。‘是桥接!’一个很小的声音从旁边传过来。小姑娘听到后说:‘是桥接……桥接……,哦,是巧 结 良 缘 模式!’,众人大笑,老教授欲哭。”
      “我们以前上课老师就是这样照着书念呀,哈,那你说怎么上才好呢?”小菜问道。
      “吭,”大鸟摆出一副老师的样,清了清嗓子,开始讲道,“我想大家小时候都有用蜡笔画画的经历吧。红红绿绿的蜡笔一大盒,根据想象描绘出格式图样。而毛笔下的国画更是工笔写意,各展风采。而今天我们的故事从蜡笔与毛笔说起。…………呵呵,您是不是已经看出来了,不错,我今天要说的就是桥接模式(Bridge)。为了一幅画,我们需要准备36支型号不同的蜡笔,而改用毛笔三支就够了,当然还要搭配上12种颜料。通过Bridge模式,我们把乘法运算3×12=36改为了加法运算3+12=15,这一改进可不小。那么我们这里蜡笔和毛笔到底有什么区别呢?…………”(见吕震宇 的设计模式随笔-蜡笔与毛笔的故事
      “啊,这下子应该没人会去睡觉了,听故事比听模式好玩呀。”
      “如果只听故事,那又何必要花那么多时间和金钱上大学。通过故事,再讲设计模式的原理,从现实生活入手去理解复杂的设计模式就要容易得多,这才是关键。再举个例子,小学时候老师让你学英语背单词,老是记不住,可是自从有了红白机(游戏机),什么‘Start’、‘Game Over’记得比谁都牢,也是同样的道理。”大鸟解释道。
      “嗯,看来设计模式是需要戏说一下才会有劲,听得才会入味。就像于丹讲《论语》一样,如果都是正儿八经的解释字面含义,就没人看她的《百家讲坛》了。”
      “我也不是崇洋媚外,同样是好酒,茅台的广告实在是不怎么样,除了最早去国外摔瓶子外,一直没有太好的创意。人家XO那句‘让灵感不只是空想’听再多也不觉得腻味,而‘人头马一开,好事自然来’把那种在酒桌上的吉利话都说绝了,这一开‘人头马’,你说生意还做不成吗?同样道理,设计模式也是需要一些噱头的,天天都是正统的论文式文章,没意思不说,主要是不容易看懂呀。这么好的东西就因为没意思而推广不出去,多让人心碎哦。”
      “是呀,以前我刚听说设计模式的时候,去买了GoF的《设计模式:可复用面向对象软件的基础》,以为《葵花宝典》收为己有,一书在手,万事不愁,可我发现很多都不是太懂,理解不了。”
      “那可是设计模式四大名著之首哦!”
      “四大名著?”
      “哈,这是大鸟我的认为,《设计模式:可复用面向对象软件的基础》、《重构:改善既有代码的设计》、《Java与模式》、《重构与模式》我认为是设计模式的四大名著,本来想把《敏捷软件开发:原则、模式与实践》也列入的,但考虑到《Java与模式》是国人之经典,加之《敏捷》中还有敏捷开发等软件工程的内容,所以没有列入。”


       大鸟接着说:“GoF的书之所以位之首位,是因为他们第一次把设计模式系统的划分成了23个模式,总结了面向对象设计中最有价值的经验,并且用简洁可复用的形式表达出来。尽管是95年的作品,但到现在为止,他们总结的模式仍然是最经典的模式,没太大变化。可惜这书却也是这几本书中最难读懂的一本。要我说,它的噱头最少,通篇都是精华,但由于晦涩难懂,这书也不知阻挡了多少有志青年学习设计模式的脚步。”
      “所以说,经典的也不是什么人都可以去读的,需要有初级,中级和高级读物。”小菜也总结道,“那你为什么不把《Head First Design Patterns》列入四大名著呢,它可是最受欢迎的设计模式书籍呀?要说戏说,我看《Java与模式》里讲故事的地方不比它少,又是西游记孙悟空,又是三国的锦囊妙计的。”
      “是呀,可它老是不被翻译成中文版,总感觉国人不认可它。其实在10年前,美国人也只认可GoF的论文式书籍的,可后来5年内他们发现,任何模式不是一来就想到并用上的,那往往会造成设计模式的过度使用,而通过重构逐步演化并合理应用一些设计模式,却可让程序达到非常好的效果,所以就有了《重构》,再过5年,他们感觉就算只是对程序论程序也不足以说明问题,所以就开始戏说了。于是《敏捷》中用了不少有趣的例子,而后就有颠覆性的书籍《Head First》系列,把技术书籍写得如同儿童画报一样的通俗。这可是伟大的进步。”
       “你的意思是,在国内还没有认识到这一点,所以依然还在如同美国10年前的论文方式?嗯,不管是书籍还是教学,国内的确都不足已达到与美国相提并论的程度。”
      “还好国内也有了类似《Java与模式》的好书,以及博客园内如吕震宇Bruce Zhang李会军、WebCast的李建忠等等这样为设计模式推广做出大贡献的朋友。所以小菜呀,好好努力,要想超过老美,估计靠写技术书是不行了,哪天弄出个什么设计模式小说、设计模式电影、设计模式话剧、设计模式相声等等才会有机会超英赶美呀!”
      “设计模式相声?不会吧你,你戏说过头了哦!”
      “哈哈,刚才那些什么电影、相声都是在扯淡,设计模式游戏,我却觉得是有可能的,利用多媒体技术,让程序员与电脑交互,达到学习的目的,这比老师直接上课效果还要好得多,由于每个人基础不同,理解力不同,用游戏可以教育效果最大化。好比美国军方都是利用电脑游戏来训练军人,而我们国家利用电视剧《亮剑》来教育军人展现精神,道理都差不多。”
      “哇!设计模式游戏,多么吸引人的东东。如果现在就有该多好!”
      “游戏哪是那么容易做出来的,首先要的是钱,不赚钱的事谁愿意投资呀?好了,和你说了那么多话,我气也消了,我决定修改那篇文章的题目,不叫《设计模式不能戏说?》了,应该叫《设计模式怎就不能戏说!》”
      “是,设计模式怎么就不能戏说呢?——把戏说进行到底,让设计模式的戏说来得更猛烈些吧。大鸟,加油!!!”

 

(待续)
注:本文纯属虚构,请不要对号入座,若有雷同,实属意外。另四大名著实在是伍迷一家之言,有不认可之处还望谅解。

posted on 2007-03-29 11:40  伍迷  阅读(13557)  评论(37编辑  收藏  举报

导航