這里我不是想宣揚Spring,其實這里我只是把Spring作為一個輕量級容器的代表,這里所說的輕量級容易主要針對IoC容器的方面。
先來看看Framework,現在大家都在談論Framework。一個項目首先可能會選定技術架構,比如選擇J2EE、.Net、PHP+MySql等等,然后才會選擇某個技術架構下面的具體的Framework,之后,開發人員就開始完全按照Framework的要求編碼、測試。這里出現了一個很嚴重的問題,就是OO被我們放到什么地方去了?
我們總把OO掛在嘴上,面向對象感覺像是一個很顯而易見的東西了。比如用Java(J2EE),你會說,Java是OO的語言,所以我用Java就一定是在OO。真的是這樣嗎?很多時候我們選擇了Framework以后,就讓我們的代碼變得面向Framework了(FOP),而不是真正的OO了。也許你學會FOP很容易,因為它只是一個提高你的效率的東西,一個工具(這里說工具可能不妥,你或者稱它為基礎設施);但是如果你學會了OO,你就真的成為軟件領域的高手了。我想我這里所說的OO,你不應該理解為學會和使用OO語言,而是理解為OO的思想。我很佩服Martin Fowler,因為他是一位OO的專家。
也許到這里,你會發現我們在軟件開發中的一些問題和弊端了。這里我應該說Spring了,請把它作為IoC容器的一個代表。Spring使用起來真的很簡單,所以我們學會使用它不能代表什么(我曾經也為自己很早的使用Spring 而吹噓過,后來才知道自己有多么的愚蠢)。但是你真正理解了Spring給我們帶來了什么,要求我們做什么以后,也許你會覺得自己真的差得很遠。Spring的哲學,設計好你的POJO的組件,請記住一定要做到你能達到的最好的OO,然后將組件注冊到Spring中。我們不需要去花太多的精力去關注Spring的使用,而是應該把更多的精力關注如果做好OO的設計,這也是我非常欣賞Spring的地方。
不管你在用什么,做什么,請不要忘記OO。去看GOF的Design Pattern吧,那才是最絢麗的東西!
posted on 2005-11-22 10:12
JohnLee 閱讀(190)
評論(0) 編輯 收藏 所屬分類:
Thinking