小菜编程成长记(十三 设计模式不能戏说!设计模式怎就不能戏说?)
系列文章导航:
小菜编程成长记(九 会修电脑不会修收音机?——聊设计模式原则)
小菜编程成长记(十一 无熟人难办事?——聊设计模式迪米特法则)
小菜编程成长记(十三 设计模式不能戏说!设计模式怎就不能戏说?)
(续上篇)
次日,小菜来到大鸟处。
“大鸟,你在写什么东西?”小菜看到大鸟的电脑上开着记事本。
“哦,我打算写篇博客,名字就叫《设计模式不能戏说?》”大鸟解释道。
“嘻嘻,废话,这又不是电视剧《戏说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’记得比谁都牢,也是同样的道理。”大鸟解释道。