国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

玩玩Spring之Rod Johnson與輪子理論

2019-11-18 11:17:48
字體:
供稿:網(wǎng)友

  (本故事除了部分點(diǎn)明道姓并具有故事具體發(fā)生的具體時(shí)間點(diǎn)地等部分情節(jié)以外,其它內(nèi)容純屬虛構(gòu),若有雷同,純屬巧合。)

  知道SPRing卻不知道Rod Johnson的人,好比宇宙中知道社會(huì)中義新中國卻不知道毛澤東的人一樣可笑。

  Rod Johnson 是Spring Framework的創(chuàng)建者,也是java和J2EE領(lǐng)域中的知名專家。Rod是 Interface21公司的CEO,該公司是一家致力于提供專業(yè)級(jí)J2EE和Spring Framework服務(wù)的顧問公司。

  談到Rod Johnson,除了Spring框架本身以外,他所著作的《EXPert One-on-One J2EE Development without EJB》一書,其影響力比Spring框架本身還更加震撼。這里插播一段廣告:《Expert One-on-One J2EE Development without EJB》這本書的中文版去年就已經(jīng)出了,有愛好的朋友可以去買來一看。

  Rod Johnson對(duì)J2EE乃至整個(gè)Java的貢獻(xiàn)我這里就不再多說了,下面直接引用一些從網(wǎng)上摘下來的原話,我想大家也能看出他的厲害。

  我們?cè)?jīng)在無數(shù)的書籍和文章中看到,EJB是J2EE的核心技術(shù)之一;而Rod Johnson竟然宣稱,絕大多數(shù)的J2EE應(yīng)用根本不需要EJB。-摘自“J2EE without EJB”書評(píng)

  Rod Johnson將會(huì)引領(lǐng)一種影響深遠(yuǎn)的潮流。但這潮流不是Spring和Hibernate,也不是IoC和AOP,甚至不是“輕量級(jí)架構(gòu)”,而是一切實(shí)事求是的“循證架構(gòu)”的工作方式。惟有把握這種工作方式,你才能夠真正自信滿滿地挺起胸膛說:“我選擇的架構(gòu)是適合應(yīng)用需求的架構(gòu)。”―摘自“Java視野”網(wǎng)友討論

  Rod Johnson認(rèn)為,應(yīng)該是基于實(shí)踐的證據(jù)、來自歷史項(xiàng)目或親自試驗(yàn)的經(jīng)驗(yàn),而不是任何形式的偶像崇拜或者門戶之見。Rod Johnson給我傳授了“循證”的工作方式——那原本就應(yīng)該是程序員的工作方式。-摘自“J2EE without EJB”書評(píng)

  Spring 提供這些價(jià)值也離不開其它開源框架的支持(Spring 的理念:不去重新發(fā)明輪子),但是 Spring 是所有這些開源框架的集大成者,為集成各種開源的成果提供了一個(gè)非常理想的平臺(tái)。所以 Rod Johnson 對(duì)于 J2EE 的貢獻(xiàn)在我看來要比其他人高一些的。-摘自網(wǎng)友評(píng)論

  總之一句話,在技術(shù)的領(lǐng)域,他是偉人、他是我們心目中的英雄!(呵呵,“英雄”這尊稱叫起來有點(diǎn)肉麻,若是不搞java的朋友看見我隨便叫老外英雄,還一定會(huì)被罵我吃里爬外,崇洋媚外呢。于是,筆者以后就把Rod Johnson稱為大叔,這樣聽起來大家都舒適。)

  當(dāng)然,談到Rod Johnson大叔,就一定得談?wù)?“輪子理論”。

  “輪子理論”,也即“不要重復(fù)發(fā)明輪子”,這是西方國家的一句諺語,原話是:Don't Reinvent the Wheel。當(dāng)然由于國內(nèi)IT從業(yè)人員接受的都是西方先進(jìn)技術(shù)(誰讓中國沒有先進(jìn)技術(shù)給大家學(xué)呢?),因此看見大家經(jīng)常引用這一句話。“不要重復(fù)發(fā)明輪子”,意思是企業(yè)中任何一項(xiàng)工作實(shí)際上都有人做過,我們所需要做的就是找到做過這件事情的人。拿到軟件領(lǐng)域中就是指有的項(xiàng)目或功能,別人已經(jīng)做過,我們需要用的時(shí)候,直接拿來用即可,而不要重新制造。

 “輪子理論”既然只是一句諺語,怎么又跟Rod Johnson大叔聯(lián)系在一起了呢?因?yàn)镽od Johnson大叔告訴我們,Spring就是在“不重復(fù)發(fā)明輪子”的理念及指導(dǎo)原則上做起來。于是一夜之間,隨著Spring在全世界的風(fēng)風(fēng)火火,非凡是吹到我們祖國的時(shí)候,也許是愛屋及烏(或鳥)的原因吧,“輪子理論”也被眾多的Spring粉絲當(dāng)成做人做事做程序的信條及原則。

  這樣有問題嗎?當(dāng)然有嚴(yán)重的問題。“輪子理論”這一理論本身沒有錯(cuò),錯(cuò)的是輪子理論的濫用,錯(cuò)的是大家被Rod Johnson大叔忽悠了一把而不知或不承認(rèn)。熟悉Spring的朋友都知道,Spring除了IOC、AOP及與其它各種框架的整合集成接口以外,也一樣有自己的WEB MVC、有自己的持久層數(shù)據(jù)庫訪問,當(dāng)然,IOC、AOP就更加不是他的首創(chuàng)了。你能說這些東西難免不帶有“發(fā)明輪子”的嫌疑嗎?筆者由于資歷乃至閱歷皆淺薄,無法證實(shí)Spring“發(fā)明了輪子”,這里只是拋出一個(gè)疑命題,還請(qǐng)高人來求證。假如Spring的MVC等能證實(shí)他本身也是發(fā)明輪子的話,我們?cè)偃ハ胂隦od Johnson大叔說這話的動(dòng)機(jī),難免會(huì)讓人往其他不友好的方面想。

  這里沒有其它的惡意,只是就是論事。Rod Johnson大叔在他的書中開篇不是就教育我們:要敢于去懷疑、猜想嗎?。要是沒有Rod Johnson大叔對(duì)傳統(tǒng)J2EE模式非凡是EJB的懷疑及猜想,又哪來的Spring呢?

  西方人口口聲聲說“不發(fā)明輪子”,但實(shí)際情況呢?大家自己睜開眼睛看看,然后閉上眼睛摸著腦門想想,假如真“不發(fā)明輪子”的話,有了JDO,怎么還會(huì)搞出iBatis來,有了iBatis怎么又搞了一個(gè)Hibernate呢?同樣的道理,有了一個(gè)令大家都稱道的struts、后來又冒出個(gè)Tapestry,之后的Webwork、JSF,然后到現(xiàn)在的Spring MVC。這“輪子”一個(gè)又一個(gè)冒出來,一個(gè)比一個(gè)漂亮、好用,有點(diǎn)讓我們這些整天被壓得喘不過氣來的國內(nèi)程序員乃至開發(fā)商應(yīng)接不暇,傻眼了吧?

  為什么會(huì)這樣呢?本來我也想不通,直到昨天發(fā)生一件事情,才讓我有所領(lǐng)悟,事情大致是這樣的:

  我昨天在大街上看到一個(gè)被扔在馬路邊上全新的寶馬輪子,記得鄉(xiāng)下的小學(xué)同學(xué)曾托我?guī)退乙粋€(gè)拉肥料用三輪車的輪子,于是我就急忙給小學(xué)同學(xué)打電話,問他要不要。結(jié)果我被他一頓臭罵,原話大意是這樣,他說我讀大學(xué)、搞高科技、變傻了,寶馬輪子那是山里人玩得起的嗎?在山村里要輪子壞了怎么辦,還要花幾百塊坐汽車、火車抱到城里修啊,我這三輪車全賣了也只值幾百塊呢?他大字不識(shí)幾個(gè),而那寶馬輪子使用說明書,質(zhì)量鑒定書一大堆,而且他又不放心,還得花時(shí)間考察考察,農(nóng)忙季節(jié)剛好來了,哪有時(shí)間考察?最后還狠狠地冒了一句:你想讓我這個(gè)季度喝西北風(fēng)啊。

  小學(xué)同學(xué)說話很直接,雖然土了一點(diǎn),但確實(shí)很有道理。于是,我回來把老同學(xué)教訓(xùn)我的內(nèi)容認(rèn)真歸納整理了一下,得到如下幾個(gè)簡單結(jié)論:

  1、 寶馬是高檔車,因此輪子也得配名貴的輪子,其所有的設(shè)計(jì)都是為寶馬這一名車量身打造的,所以在大小、寬度等多方面指標(biāo)都不適合咱村里拉肥料的破三輪車。

  2、 寶馬輪子因?yàn)槊F,質(zhì)量好,但也會(huì)出問題的時(shí)候,出了問題一般人不能也不敢修,還必須得拿回大城市的專修店修理,維護(hù)成本太高了。

  3、 雖然三輪車已經(jīng)有了輪子,但鄉(xiāng)里的同學(xué)仍然要我?guī)退⒅赜袥]有好的輪子,意思是對(duì)現(xiàn)在的輪子不管從功率、效率乃至外表、款式等都不太滿足,仍然需要改進(jìn)。

  4、 我去年過春節(jié)回家時(shí)給他帶的兩個(gè)自行車輪子,他瞧不起,而且三輪車也用不上

  因此,我想上面提到的Webwork、Tapestry以及Spring MVC等,也是碰到類似的輪子不合適或者不完美的問題,才會(huì)不斷尋求改進(jìn)的方法,才能不斷的更新?lián)Q代,也才導(dǎo)致一個(gè)又一個(gè)的新的、漂亮的輪子被重復(fù)發(fā)明出來。結(jié)論就是,輪子不在于有沒有,不在于是否屬于“重復(fù)發(fā)明”,其要害在于“合不合適”。子曾經(jīng)也曰過:存在即合理嘛!

  而我們中國人呢,連發(fā)明輪子的技術(shù)都不會(huì),只能膜拜,干瞪眼,等著學(xué)他們一個(gè)又一個(gè)的輪子使用方法。輪子越來越大,說明書越來越多,翻譯的工作量越來越多,引進(jìn)一個(gè)輪子的周期越來越長,越來越無法控制,實(shí)在不行了就只能罵兩句解解氣,然后一袋煙的功夫又硬著頭皮回來乖乖繼續(xù)學(xué)。我就有點(diǎn)吶悶,全國那么多的天才、大牛,咋就不發(fā)明一個(gè)我們自己的輪子玩玩,讓老外也嘗試一下把中文輪子說明書翻譯成英文那種痛苦滋味。(暈,又做白日夢了,不好意思!)

  那么,從科學(xué)的態(tài)度分析,究竟該不該“發(fā)明輪子呢?”。這得用一句經(jīng)典的廢話來總結(jié):實(shí)事求是,具體問題具體分析!

  其實(shí)也不用那么復(fù)雜,我們只需要看看現(xiàn)在我們用的輪子,看看這些進(jìn)口的輪子是否都很合適我們,不需要再改進(jìn),更不需要重新發(fā)明了呢?我看未必。中國有著5000年的文化底蘊(yùn),可謂博大精深。進(jìn)口的東西,技術(shù)再好,切不可能完全融入得了中國的文化、思想。況且,現(xiàn)在扔給我們這些輪子,不但用起來仍然有著這樣那樣的問題,這些輪子之間還相互打起架來,搞得我們要做兒子不是,做孫子也不是,一不小心就犯上了選擇懼怕怔。

  因此,作為一個(gè)80后的人,我希望跟我一樣的同行,能多去研究別人發(fā)明的輪子,而不是依靠于某幾個(gè)輪子,會(huì)用幾個(gè)輪子就自以為是、沾沾自喜。不但要去探索、研究輪子的發(fā)明技術(shù),原理,還要大膽地、不斷地嘗試發(fā)明更好,更合適自己的輪子。失敗不用怕,怕的是我們連失敗的機(jī)會(huì)都沒有,有機(jī)會(huì)也因?yàn)槭浪滓恍┯^念影響而不敢去爭取及嘗試。不要過分的依靠于現(xiàn)有的這些進(jìn)口輪子,去大膽的發(fā)明輪子吧。等到十年、二十年以后,看到我們的后代依靠我們這些輪子來造火箭、造飛船、闖蕩太空的時(shí)候,一定別有一番滋味。

  當(dāng)然,“發(fā)明輪子”也要學(xué)學(xué)Spring,講究藝術(shù)及方法。不能搞閉門造車,當(dāng)全世界人民都在研究火箭輪子的時(shí)候你還停留在研究腳踏三輪車輪子的技術(shù)水平,那就難免鬧笑話了。要多學(xué)習(xí)別人的輪子制造方法,把別人的好的思想、理念、精華借鑒過來,再加入我們民族文化特色的東西及元素,最后為我所用。更要認(rèn)認(rèn)真真,想方設(shè)法的從國內(nèi)同行及前輩們的身上學(xué)習(xí)、取經(jīng),因?yàn)樗麄兊囊粋€(gè)小小的建議或提示會(huì)讓我們少走很多的彎路。最重要的就是要懂得團(tuán)隊(duì)協(xié)作的重要性,學(xué)會(huì)與更多優(yōu)秀的人一起共事,現(xiàn)在已經(jīng)不再是個(gè)人英雄主義的年代,任何事情都需要講究團(tuán)隊(duì)的合作,群策群力,才有可能取得成功。

  最后,引一句張靚穎同學(xué)在Tcl廣告歌中所唱的吧:“擁有夢想,就有可能!”,鼓勵(lì)自己的同時(shí),也鼓勵(lì)所有擁有夢想的朋友。

  審訊記:

  問:大峽,你口口聲聲鼓動(dòng)大家發(fā)明輪子,那么你有發(fā)明輪子的技術(shù)及能耐嗎?

  答:我現(xiàn)在仍不具備,仍在不斷學(xué)習(xí)及探索ing,相信以后一定能。補(bǔ)充一下,現(xiàn)在我跟EasyJF的朋友們已經(jīng)開始做著別人看來類似發(fā)明輪子的事情!

  問:大峽,作為Spring的超級(jí)粉絲,我很負(fù)責(zé)任的告訴你,你是在鉆Spring的牛角尖,拿“輪子理論”來說事,這是無理取鬧,更是對(duì)Rod Johnson大叔的不敬。

  答:從Rod Johnson大叔身上學(xué)習(xí)了很多東西,我敬重Rod Johnson大叔,也敬重科學(xué)技術(shù),我所說的只是實(shí)事求是,您覺得不對(duì)的地方請(qǐng)予指正,萬分感謝。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 岫岩| 翁牛特旗| 大连市| 麻城市| 玉林市| 咸丰县| 白城市| 闸北区| 镶黄旗| 邹平县| 长顺县| 秀山| 娱乐| 临城县| 景宁| 太和县| 寿宁县| 万宁市| 政和县| 苏州市| 裕民县| 五莲县| 沙田区| 合江县| 台中县| 肥西县| 山阴县| 乐业县| 沙雅县| 乾安县| 呼和浩特市| 尖扎县| 油尖旺区| 南投县| 江陵县| 巍山| 阳新县| 浦江县| 思茅市| 五台县| 苏尼特右旗|