感悟UML中的禪理.doc_第1頁(yè)
感悟UML中的禪理.doc_第2頁(yè)
感悟UML中的禪理.doc_第3頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

感悟UML中的禪理作者: 王海鵬 出處:軟件世界UML來(lái)做一些設(shè)計(jì)時(shí),開(kāi)發(fā)人員會(huì)覺(jué)得自己好像不會(huì)寫(xiě)程序了。的確用UML降低了開(kāi)發(fā)效率,好處卻并不顯見(jiàn)。于是我們看到了在教科書(shū)中大量地采用UML,看到了用UML解釋別人的系統(tǒng)設(shè)計(jì)。 筆者是從C+開(kāi)始學(xué)習(xí)面向?qū)ο蟪绦蛟O(shè)計(jì)的,并被IO流和Borland Turbo Vision這樣的OO設(shè)計(jì)所折服,驚嘆于OO編程的優(yōu)雅,于是致力于學(xué)習(xí)OO編程。 當(dāng)我自以為在OO編程上小有心得時(shí),在網(wǎng)上看到了關(guān)于UML的介紹。開(kāi)始了解UML時(shí),我的心情是復(fù)雜的。原來(lái)軟件是這樣設(shè)計(jì)出來(lái)的?如果真像Booch所說(shuō),那么我們一直在造狗窩,一直不知道怎樣造大廈?于是有了學(xué)習(xí)UML的沖動(dòng)。但是隨著學(xué)習(xí)的深入,產(chǎn)生了新的問(wèn)題。UML很難掌握,盡管有“精通UML”之類(lèi)的書(shū)。僅以用例圖來(lái)說(shuō),曾在BBS論壇上遇到無(wú)數(shù)的人不知道怎樣合適地畫(huà)用例圖。UML不但難掌握,而且很“膚淺”它只是一種表示法而已。它只是一種語(yǔ)言,而用這種語(yǔ)言說(shuō)出的話(huà)到底水平如何,顯然取決于說(shuō)話(huà)人的其他素養(yǎng)。 UML和OO思想哪個(gè)重要?沒(méi)有OOA/OOD的深厚功底,學(xué)UML有何用?當(dāng)我試著用UML來(lái)做一些設(shè)計(jì)時(shí),覺(jué)得自己好像不會(huì)寫(xiě)程序了。用UML降低了我的開(kāi)發(fā)效率,好處卻并不顯見(jiàn)。另外還有一些其他的問(wèn)題也在困擾著我,例如:如何以用例驅(qū)動(dòng)的方式設(shè)計(jì)一個(gè)類(lèi)似Swing這樣的類(lèi)庫(kù)?為什么書(shū)上的例子舉來(lái)舉去都是ATM機(jī)?為什么這么多優(yōu)秀的開(kāi)放源代碼軟件,幾乎沒(méi)有聲稱(chēng)是以這種方式來(lái)設(shè)計(jì)開(kāi)發(fā)的?我置疑是否這種方式真的有價(jià)值。 語(yǔ)言甚至?xí)`思想。維特根斯坦應(yīng)該是持這種觀點(diǎn)的。奧威爾在他的名著1984中有一段描述,說(shuō)明“新話(huà)”對(duì)思想的控制。UML1.x的版本對(duì)實(shí)際可能的設(shè)計(jì)做了許多簡(jiǎn)化,使我對(duì)UML有一種“新話(huà)”的感覺(jué)。我頭腦中,曾一度把UML與“符號(hào)暴力”相聯(lián)系。 據(jù)說(shuō)Kent Beck從來(lái)不畫(huà)UML圖,最多畫(huà)點(diǎn)簡(jiǎn)單的CRC卡片,經(jīng)常是直奔編碼而去。但很多人都不懷疑他是位優(yōu)秀的OO設(shè)計(jì)師。于是我大部分時(shí)間思考的都是測(cè)試驅(qū)動(dòng),依賴(lài)注入,代碼即設(shè)計(jì)這類(lèi)問(wèn)題,與UML漸行漸遠(yuǎn)。機(jī)緣湊巧,我讀過(guò)一點(diǎn)佛經(jīng)和故事。給我留下很深印象的是,禪宗六祖惠能是不識(shí)字的。禪宗的十六字心傳是“教外別傳,不立文字。直指人心,見(jiàn)性成佛”。而正是這位不識(shí)字的六祖,要求“不立文字”的大德,他的講稿被整理成了唯一一部由中國(guó)人寫(xiě)的被稱(chēng)為經(jīng)的佛教典籍六祖壇經(jīng)。非常矛盾的一件事。壇經(jīng)記載,惠能還未出家時(shí),聽(tīng)到有人讀金剛經(jīng),“惠能一聞,心明便悟”。這就是“籍教悟宗”。六祖之后,禪宗進(jìn)入“不立文字”的無(wú)字禪時(shí)代。視語(yǔ)言為障道之本,視讀經(jīng)為磨磚成鏡。然而沒(méi)有文字終究不便,到了北宋,由于禪宗燈錄的大量刊行,參究公案之風(fēng)日盛,文字禪由之而起?!安涣⑽淖帧敝U變成了“不離文字”之禪。忽然間我仿佛明白了UML存在的意義:說(shuō)不可說(shuō)之說(shuō)?!搬屽人氖拍暾f(shuō),未曾說(shuō)著一字?!狈鹪唬翰豢烧f(shuō)。明明不可說(shuō),偏又說(shuō)了那么多。 以前曾經(jīng)認(rèn)為,設(shè)計(jì)OO系統(tǒng)掌握住一個(gè)要點(diǎn)就行,即“道法自然”。然后就是“運(yùn)用之妙,存乎一心”。在這個(gè)理論結(jié)構(gòu)里,似乎是沒(méi)有UML存在的位置。畢竟“道可道,非常道”。但是佛經(jīng)給了我啟發(fā),這些經(jīng)書(shū)在翻來(lái)覆去花了很多力氣講一些本來(lái)講不明白的東西?!安涣⑽淖帧?,是“說(shuō)不得”;“不離文字”,是“說(shuō)不得的東西如何去說(shuō)”。對(duì)于這種難以言說(shuō)的東西,人們常常采用寓言或發(fā)生在別人身上的故事來(lái)說(shuō)明,即把抽象的道理形象化地釋出。 UML所做的正是相同的事,于是我們看到了在教科書(shū)中大量地采用UML,看到了用UML解釋別人的系統(tǒng)設(shè)計(jì)。也許我們能通過(guò)學(xué)習(xí)教科書(shū)中的UML和別人設(shè)計(jì)的UML實(shí)現(xiàn)“籍教悟宗”。 UML也是一種想像力的培訓(xùn),讓您在一切都還沒(méi)有的時(shí)候,生動(dòng)地想象出系統(tǒng)將來(lái)的樣子。一個(gè)偉大的設(shè)計(jì)師,必是具有超凡想像力的人。UML是渡河的筏,對(duì)于已在河對(duì)岸的人,自然不需要;對(duì)于未渡而想渡的人,卻是非常需要的東西。此時(shí)我的感覺(jué)就是:“向來(lái)枉費(fèi)推移力,今日自在水中行?!?名詞解釋 什么是UML? 統(tǒng)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論