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