Posted on 2007-10-12 16:02
Jaunt 閱讀(290)
評論(0) 編輯 收藏 所屬分類:
設計模式(java)
設計模式做為程序員的“內功心法”,越來越受到.net 社區的重視,這種變化是很可喜的,Java社區走在了我們的前面,但這種狀況也許有一天會發生改變。
在學習模式時,兩種聲音是一定會遇到的:
1、“無招勝有招,無招才是最高境界”;
2、“過分設計”。
這兩種聲音都是正確的,但如果初學模式者就惦記著這兩條,卻未必對你的學習和成長有利。
“無招論”者,強調設計原則是精髓,各種模式只是實招,做為一個高手,應得其髓,忘其招,決勝于隨機應變中,于千變萬化隨心所欲中。此論調十分之正確,軟
件工程的巨人們歸納的設計原則是優秀軟件工程的內在規律,模式是種種原則的具化,學模式者十分應該得此髓,特別是那些在每種模式中都能看到的原則,更應將
你的思維與之絞合。
但初學者,請想想“你是武林高手了嗎”先,在沒有深入了解和體味了23種設計模式之前,你可以知道諸多設計原則,但你未必知道在設計中怎樣去實現這些原則,怎樣去結合這些原則。
“模式”就是模式,名字就意味著是“死”的東西,你還沒有“入死”,就想著“出生”了,未免有超前之嫌。
“過分設計”論是典型的以辨證法從另一個方面思考模式的使用。辨證法太偉大了,幾乎可以應用于所有的事情,當然它應用于設計模式也是合適的,“過分設計”也是一種正確和健康的觀點。
不過就我的觀察,生活中兩種人比較喜歡使用辨證法,一種是有豐富經驗的專家,一種是對一件事情根本沒有深入根本不怎么了解的人。專家使用辨證法來看問題,
使得他更“專家”,另一種人,就像一個還不會走路的小孩在想著“我不能跑得太快,會摔跤的”----不論他想得對不對,但這種想法于他學走路是絲毫無益處
的。
“過分設計”還是等到你真的覺得“過分”了的時候再去想吧,你還“設計不足”呢,就想著“過分設計”為哪般呢?
還有些人,視設計模式為條條框框,與自己”熱愛民主與自由”的理想相去甚遠,但唐朝已去,李白不在,天馬行空未必能有“飛流直下三千尺”的成就,還是老老實實,腳踏實地,先扶著墻走穩了先。