??????? ??? 今天聽了易老師品三國之:諸葛亮為何選擇劉備那集。說到諸葛亮的讀書方法,謂之:“不求甚解”。也許乍看之下,我們會對“不求甚解”這樣的方法提出質疑,這難道不是我們所謂讀書的大忌嗎?
?????????? 請別急,聽我慢慢道來。 諸葛所謂的讀書的“不求甚解”,乃掌握文章之精髓,不故意去追求細節的完美。成大業者,不拘小節也。在現在的社會,效率決定了一個人的成敗。特別是在信息產業這行,如此之多的先進技術,你是不可能一一掌握的,那就要你自己去選擇適合你的技術方向,去用最有效率的方法完成你的任務。?? “戰略上要藐視敵人,戰術上要重視敵人。”這句話是毛主席在革命戰爭時候總結出來的一句名言。? 爸爸小時候常常用這句話教育我,但是那時候的我根本不懂這句話是什么意思,也就根本沒聽進去。現在細細回想起來,要真得能夠讀懂這句話,對一個人的人生發展是有何其大的作用!
??????????? 我是一個嚴重的“追求甚解”的人。從小開始,我就有一種打破沙鍋問到底的態度對待任何事情。
但是前提是我在乎這件事,覺得它值得我去做。我很相信自己的思想,我認為應該去做的,我會用盡一切辦法去把每一個細節做到完美。還記得上高中的時候,老師總是說我太鉆牛角尖。舉個例子:比如牛頓第一定律:任何運動的物體都具有慣性。 當時學到這個的時候,我就一直在想為什么物體會有慣性這個問題,大概整整困擾了我有一個月的時間,也就是因為老在思考這個問題,做作業的時候經常跑題,出現這樣的狀況,這題我明明是解出來了,可是我自己還會在里面想很久,根本問題就是我沒有想明白為什么會有這個定律。我上中學的時候經常自己思考這些“無聊”的問題,很多時候因為這樣的問題,我都到了吃不下飯的地步。可是爸爸媽媽問我為什么,我自己卻也答不上來。有時候會因為想到了一點點這些問題的答案,而欣喜若狂。可是過一會,我又回到“郁悶”的狀態,又仔細想過后,我的答案還是有缺漏,因為我又會問自己:“為什么會有力?” 。。。。。。。。。
?????????聯系自己目前在學習的J2EE技術,正可謂,言之有理也。 J2EE的技術筐架何其之大,要想掌握其中所有的知識,沒有個三五年,我想很難。況且就算你覺得你掌握了,你敢保重你不會忘記?如果你用上了“不求甚解”的學習方法,在掌握了一定的基礎知識以后,把主要精力花在研究Design-Pattern,軟件的架構等方面,而去忽略一些不必要的細節,我想這時候你就可以成為一個“從戰略上藐視J2EE”的高手,這也是這篇文章的主題之所在。大家都知道,一個軟件的成功在于設計。在軟件設計階段,你用良好的設計模式去設計這個軟件,對開發的效率,日后的維護都會有很深的影響。舉個最簡單的例子,開發一個農場系統,需要你對產品,生產方式進行模擬。一個沒有學過模式學的人,或者只學過,但是并不會用的人,寫出來的程序可能是在每個產品類里定義產品的變量,方法。
public class apple {??????????????????????????????? ?public class Veggie {??????????????????????????? .............................
? String color ;???????????????????????????????????????????? String color ;??????????????
? ...............???????????????????????????????????????????????? ...............???????????
? ...............??????????????????????????????????????????????? ...............
?
public void factroyApple() {??????????????????? public void factroyApple() {?????????????????? ............................
?? doSomrthingWithApple();???????????????????????? doSomethingWithVeggie();
?????????????????????????????????????????
?................???????????????????????????????????????????????????? .......................
}????????????????????????????????????????????????????????????????? }
}??????????????????????????????????????????????????????????????? }
但是如果你用工廠模式
public class Factroy {????????????????????????????? public class Apple {
??? public Apple?factroyApple () {?????????????????? priavte String color;
?? ..................?????????????????????????????????????????? ..................
}?
??? public Veggie factroyVeggie() {??????????? public String getColor(String color) {
?? ......................??????????????????????????????????????? this.color=color;
???????????????????????????????????????????????????????????????? }
}??????????????????????????????????????????????????????????????? ..........................
??????? 如果日后你要在這個農場系統中增加產品,你只需要增加一個產品類,而不需要再寫生產方法。這也大大增強了系統的可維護性。
???????? J2EE技術發展到今天,已經有很多的模式可以供我們在開發的時候選擇,Struts,Spring......如果我們掌握了J2EE技術的設計思想,對于一個項目的開發,我們就可以做到從"戰略上藐視J2EE"。
??????