感悟UML中的禅理.doc_第1页
感悟UML中的禅理.doc_第2页
感悟UML中的禅理.doc_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

感悟UML中的禅理作者: 王海鹏 出处:软件世界UML来做一些设计时,开发人员会觉得自己好像不会写程序了。的确用UML降低了开发效率,好处却并不显见。于是我们看到了在教科书中大量地采用UML,看到了用UML解释别人的系统设计。 笔者是从C+开始学习面向对象程序设计的,并被IO流和Borland Turbo Vision这样的OO设计所折服,惊叹于OO编程的优雅,于是致力于学习OO编程。 当我自以为在OO编程上小有心得时,在网上看到了关于UML的介绍。开始了解UML时,我的心情是复杂的。原来软件是这样设计出来的?如果真像Booch所说,那么我们一直在造狗窝,一直不知道怎样造大厦?于是有了学习UML的冲动。但是随着学习的深入,产生了新的问题。UML很难掌握,尽管有“精通UML”之类的书。仅以用例图来说,曾在BBS论坛上遇到无数的人不知道怎样合适地画用例图。UML不但难掌握,而且很“肤浅”它只是一种表示法而已。它只是一种语言,而用这种语言说出的话到底水平如何,显然取决于说话人的其他素养。 UML和OO思想哪个重要?没有OOA/OOD的深厚功底,学UML有何用?当我试着用UML来做一些设计时,觉得自己好像不会写程序了。用UML降低了我的开发效率,好处却并不显见。另外还有一些其他的问题也在困扰着我,例如:如何以用例驱动的方式设计一个类似Swing这样的类库?为什么书上的例子举来举去都是ATM机?为什么这么多优秀的开放源代码软件,几乎没有声称是以这种方式来设计开发的?我置疑是否这种方式真的有价值。 语言甚至会束缚思想。维特根斯坦应该是持这种观点的。奥威尔在他的名著1984中有一段描述,说明“新话”对思想的控制。UML1.x的版本对实际可能的设计做了许多简化,使我对UML有一种“新话”的感觉。我头脑中,曾一度把UML与“符号暴力”相联系。 据说Kent Beck从来不画UML图,最多画点简单的CRC卡片,经常是直奔编码而去。但很多人都不怀疑他是位优秀的OO设计师。于是我大部分时间思考的都是测试驱动,依赖注入,代码即设计这类问题,与UML渐行渐远。机缘凑巧,我读过一点佛经和故事。给我留下很深印象的是,禅宗六祖惠能是不识字的。禅宗的十六字心传是“教外别传,不立文字。直指人心,见性成佛”。而正是这位不识字的六祖,要求“不立文字”的大德,他的讲稿被整理成了唯一一部由中国人写的被称为经的佛教典籍六祖坛经。非常矛盾的一件事。坛经记载,惠能还未出家时,听到有人读金刚经,“惠能一闻,心明便悟”。这就是“籍教悟宗”。六祖之后,禅宗进入“不立文字”的无字禅时代。视语言为障道之本,视读经为磨砖成镜。然而没有文字终究不便,到了北宋,由于禅宗灯录的大量刊行,参究公案之风日盛,文字禅由之而起。“不立文字”之禅变成了“不离文字”之禅。忽然间我仿佛明白了UML存在的意义:说不可说之说。“释迦四十九年说,未曾说着一字。”佛曰:不可说。明明不可说,偏又说了那么多。 以前曾经认为,设计OO系统掌握住一个要点就行,即“道法自然”。然后就是“运用之妙,存乎一心”。在这个理论结构里,似乎是没有UML存在的位置。毕竟“道可道,非常道”。但是佛经给了我启发,这些经书在翻来覆去花了很多力气讲一些本来讲不明白的东西。“不立文字”,是“说不得”;“不离文字”,是“说不得的东西如何去说”。对于这种难以言说的东西,人们常常采用寓言或发生在别人身上的故事来说明,即把抽象的道理形象化地释出。 UML所做的正是相同的事,于是我们看到了在教科书中大量地采用UML,看到了用UML解释别人的系统设计。也许我们能通过学习教科书中的UML和别人设计的UML实现“籍教悟宗”。 UML也是一种想像力的培训,让您在一切都还没有的时候,生动地想象出系统将来的样子。一个伟大的设计师,必是具有超凡想像力的人。UML是渡河的筏,对于已在河对岸的人,自然不需要;对于未渡而想渡的人,却是非常需要的东西。此时我的感觉就是:“向来枉费推移力,今日自在水中行。” 名词解释 什么是UML? 统

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论