<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    BlueIce  
    藍(lán)色的Java,冰色的BillQian
    日歷
    <2007年3月>
    25262728123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567
    統(tǒng)計
    • 隨筆 - 5
    • 文章 - 0
    • 評論 - 5
    • 引用 - 0

    導(dǎo)航

    常用鏈接

    留言簿(2)

    隨筆檔案

    相冊

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

     
    2007年03月3日 星期六 下午 03:38

    這是一篇轉(zhuǎn)載的文章,我覺得說的很好!

    我的思路:?
    1、我覺得先學(xué)學(xué)JSP,用純JSP做個日記本簡單的小系統(tǒng),純粹從語言層面上了解一些基礎(chǔ)知識,把tomcat玩熟了,就用記事本編就行,主要是熟悉,能夠理解jsp運(yùn)行機(jī)制。然后學(xué)學(xué)java,看本基礎(chǔ)的書,都是那種講講語法的,變量怎么定義,流程控制語句怎么寫,怎么編寫函數(shù),怎么處理表單元素,處理字符串,連接數(shù)據(jù)庫,會一種就行。這些都是浮在語言表面,你編寫的程序還是結(jié)構(gòu)化的,跟你以前用asp編的程序沒什么區(qū)別,但是這很重要。你可以直接選擇目前公司里都在使用的Eclips來開發(fā),但是你要區(qū)分IDE和Java的區(qū)別,不要被IDE邦死了。這些都熟了之后看《thinking?in?java》,看完之后,看core?java兩卷,深入了解到j(luò)ava本身。看這些書的時候你可能就懵懂的進(jìn)入oo世界了,估計還不太明白。可以配合一些oo的理論方面的書,oo不過就是那幾個特點(diǎn),封裝分配,多態(tài)性,繼承,第一個要理解的當(dāng)然是對象。看完這些后就可以學(xué)習(xí)UML建模了,主要會畫三種圖,用例圖,類圖,序列圖,三種圖就足夠了。不要期望自己一下就學(xué)會UML,就會建模,得跟java學(xué)習(xí)聯(lián)系起來,編個幾萬行代碼,慢慢就會設(shè)計對象了。然后看GOF《設(shè)計模式》,對你的面向?qū)ο笏枷胍粋€巨大的提升,這時你一定會去重讀繼承,接口,抽象類的相關(guān)的細(xì)節(jié)了,并且你會發(fā)現(xiàn)你的理解能力上了一個臺階。然后看看三層結(jié)構(gòu)的知識,這時候編程考慮使用jsp+servlet+javabean,分出表示層,業(yè)務(wù)層和數(shù)據(jù)訪問層,這是基礎(chǔ)。?
    2、?以上都是J2SE,然后看thinking?in?enterprise?java,學(xué)習(xí)j2ee基礎(chǔ)知識,你慢慢就會明白持久層的一些機(jī)制了,后面的什么各種新鮮的東西,CMP的東西本質(zhì)是什么,你都很好理解了。當(dāng)然你要不斷編碼,把書里的概念都變成實(shí)踐,只有自己動手做,才能理解,看會不等于學(xué)會,學(xué)會不等于學(xué)精,學(xué)好技術(shù)不等于會設(shè)計,層次會越來越高。實(shí)踐是認(rèn)識的唯一來源!!!一定要實(shí)踐。?

    3、編碼時你可以考慮看看《重構(gòu)》這本書,覺得很好,同時還可以看看Thinking?in?Design?Pattern?with?java,會使你的代碼越來越漂亮。?

    4、?現(xiàn)在你的代碼已經(jīng)很專業(yè)了,而且可以分出不同的層次,因?yàn)槟阒懒俗罨镜脑瓌t,那就是要高內(nèi)聚,低耦合,要不斷地解耦,但是怎么更好的解耦,什么是最佳實(shí)踐,你可能并不知道,雖然你看了下面這本書,你會發(fā)現(xiàn)你有些做法已經(jīng)是最佳實(shí)踐了,但是依然會存在這種情況,有些你并不確定,那就看看core?java?pattern吧,都是14年以上開發(fā)經(jīng)驗(yàn)的架構(gòu)師和眾多java大師的經(jīng)驗(yàn)總結(jié),書中序言所寫,看完這本書,你將成為Java架構(gòu)師。?

    5、這些知道之后,你已經(jīng)對分層的本質(zhì)很理解了,你可以知道Struts不過是框架而已,只是運(yùn)用了頁面助手,前端控制器,應(yīng)用控制器等這些表示層或者表示層和業(yè)務(wù)層(Tier)中間連接層(Layer)的模式,對于標(biāo)簽的理解你也是深刻的。而到集成層,采取不同的策略和模式,數(shù)據(jù)持久化的理論和經(jīng)驗(yàn),框架不過是把大家都用得著的東西做好了給你用,沒有框架的話很多事需要你自己做,僅此而已,跟那些偉大的思想相比,它們太簡單了。至于到具體的容器,DAO策略還是CMP,BMP,在具體使用怎樣的ORM工具,都是更簡單的事情了。但是看spring,struts這些框架時你會重新閱讀前面的java教程的,因?yàn)閟pring用到了java的反射機(jī)制等。?

    6、到此為止,你會發(fā)現(xiàn)你OOP時,想到的就會是性能,到底用數(shù)組還是ArryList,還是用HashMap,OOD時,你會考慮并發(fā)性,擴(kuò)展性,復(fù)用性,現(xiàn)有框架,池,事務(wù)等方面,你會發(fā)現(xiàn)每一個問題,你都有好幾種選擇方案,你會不斷重構(gòu)你的代碼,改良你的設(shè)計。?

    7、下一步是OOA,那就看一本《分析模式》吧,會教你很多分析的現(xiàn)成方法。?

    此時,你已經(jīng)是OO方面的專家了,構(gòu)架一個大型系統(tǒng)應(yīng)該沒有問題了,而且你的能力可以很輕易的學(xué)會Web?Service,AJAX等這些時髦的東西,你編程的時候可能最常翻的書是JDK?API,但是你會遇到新的問題,就是讓你設(shè)計一套股票系統(tǒng),可是你對股票一無所知,現(xiàn)學(xué),這是必須的,但是這時你會發(fā)現(xiàn)你基礎(chǔ)好差,所以在學(xué)技術(shù)的同時,多看看各個領(lǐng)域的書吧,其實(shí)都是有模式的,比如ERP選型,CRM的幾種樣子,電子商務(wù)的幾種模式,看多了你也就會了,所以要學(xué)會域建模,因?yàn)槟闶且獮樯虅?wù),政務(wù)服務(wù)的,是為人服務(wù)的。?

    我覺得這在技術(shù)方面就算到頭了,如果你想學(xué)管理,當(dāng)然前提是技術(shù),要不你不知道完成一個項(xiàng)目到底要多久花多少錢。你必須了解開發(fā)方法,迭代開發(fā),XP等,當(dāng)你有了技術(shù),再看這些很容易,因?yàn)槟銜靼诪槭裁匆獪y試先行,在技術(shù)上怎么實(shí)現(xiàn)技術(shù)先行;你也會知道結(jié)對編碼的意義。學(xué)習(xí)了這些你會是項(xiàng)目經(jīng)理。?

    但是你可能還需要多看看經(jīng)濟(jì)領(lǐng)域的書和法律書,還包括中國政府的報告等等,要政治敏感,這樣你才能成為比爾蓋茨。這離主題有點(diǎn)遠(yuǎn)了。?

    總的原則是:?
    1、先從語言層面掌握J(rèn)ava(很多說Java容易的人都是只掌握了語言層面的人,當(dāng)你面對如何解耦,怎樣利用線程,如何更好復(fù)用,面向?qū)ο髸r,你就會覺得它好復(fù)雜好難)然后再到深入理解Java,先學(xué)J2SE再學(xué)J2EE。?

    2、理論和實(shí)踐相結(jié)合,先看操作,理解本質(zhì)和原理,然后做,然后翻過來看理論,你會覺得這件事做起來就是順理成章的了,因?yàn)楫?dāng)初理論就是這么被推出來的。?

    3、高處著眼,有了基礎(chǔ)后,你可以從本質(zhì)上去跟上時髦的東西,比如ORM,更細(xì)點(diǎn)說就是Hibernate等,比如各層框架,Spring,Struts等,都很簡單。?

    4、學(xué)好理論,你用到多線程時可能會覺得自己對于線程機(jī)制不慎了解,對對象在內(nèi)存中的生命周期不清楚,對于JUnit斷言的不理解,對調(diào)試程序的原理不明白,去看計算機(jī)組成原理吧;可能搞不清楚數(shù)組的本質(zhì),去看數(shù)據(jù)結(jié)構(gòu),這時你會發(fā)現(xiàn)自己線性代數(shù)太差;去討論Java自帶的排序算法和你自己編寫的算法,可能覺得自己對一個簡單的函數(shù)都看不懂,設(shè)計復(fù)雜的函數(shù)就更不會了,去看計算方法吧,這時你可能會感到你的高等數(shù)學(xué)太差了;不理解HTTP的接收應(yīng)答機(jī)制,不知道AJAX原理,那么多語言都有request,response,到底原理是什么,XML的作用是什么,SOAP協(xié)議,怎么在網(wǎng)絡(luò)上傳輸這些數(shù)據(jù),看看基礎(chǔ)知識,這些都很簡單。掌握基礎(chǔ),只有到這時你才會覺得它重要,那就等你知道了再去看吧,也不會太晚,而且你會學(xué)的更好。不要羨慕那些碩士博士,他們沒編過程序,照樣不如你,有些都是真的是你不做就永遠(yuǎn)不理解,不做底層,理解不了上層。?

    5、學(xué)好外語,因?yàn)槟銜l(fā)現(xiàn)很多資料很多問題的答案很多調(diào)試錯誤的解釋都是外文的,這時google是最好的工具,但是你的英文要起碼可以讀懂人家說什么;還有研究Web?service,SOA之類的東西,往往都是英文的。?

    學(xué)好我說的這些,大約需要3年,但是學(xué)好JAVA,達(dá)到語言層面,只需要1周,達(dá)到內(nèi)部,需要半年,達(dá)到會設(shè)計,需要做3個以前項(xiàng)目,達(dá)到架構(gòu)師,估計得2到3年,同時那些基礎(chǔ)中的基礎(chǔ),你更需要好好學(xué),那些是最慢的。?

    學(xué)到語言層面只需要兩樣?xùn)|西:玩會IDE+拿一本包含我所說的那些基本語法的書。玩會IDE你要做到會簡單配置,能運(yùn)行出東西,會調(diào)試(不會調(diào)試就沒法編程),然后拿本JDK?API,打開google和百度,有了錯誤就去搜索,這樣學(xué)習(xí)Java真的很簡單。?

    Linux也是要先會玩,要能上網(wǎng),會下載東西,安裝軟件,寫文檔,然后就是能聽歌看電影,就夠了。接下來在編程,關(guān)鍵要會shell那些命令。看看多用戶操作系統(tǒng)的書,建立一個理論高度,就OK了?

    最后說一句,中國大多數(shù)程序都停留在語言層面,很多人都是在懵懂中編程,可能調(diào)不通程序,突然改了個東西就通了,但是深層原因并不知道,很多都是東試西試試驗(yàn)出來的,都是黑箱編程,總感覺隔著霧看程序,我身邊很多人寫了一萬行代碼,還不理解equals和==的區(qū)別呢,還不知道Class?object=new?Class()等號左右兩邊各代表什么呢。但是他們一樣能編程,一樣能開發(fā)出系統(tǒng),很多人都以為這樣就算Java高手了,什么都能編并不等于編的好,當(dāng)然什么都能編是個前提。所以要學(xué),就學(xué)深入,起碼一種語言要學(xué)深,在web開發(fā)方面,我推薦java學(xué)深,或者說沿著java路學(xué)深,這樣去研究C#,.Net平臺就很容易,再看ASP和PHP就覺得大家都一樣了,上升到高度不過也就是設(shè)計模式的問題了,殊途同歸。

    posted on 2007-03-03 15:48 BillQian 閱讀(351) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
     
    Copyright © BillQian Powered by: 博客園 模板提供:滬江博客
    主站蜘蛛池模板: 在线a亚洲老鸭窝天堂av高清| 蜜芽亚洲av无码精品色午夜| 亚洲高清一区二区三区| 久久久精品2019免费观看| 亚洲国产精品无码专区在线观看| 国产成人无码免费网站| 国产精品亚洲产品一区二区三区| 黄色大片免费网站| 亚洲免费视频一区二区三区| 四虎影视久久久免费| 国产福利电影一区二区三区,亚洲国模精品一区 | 中文字幕亚洲综合久久| 91福利视频免费观看| 亚洲欧洲视频在线观看| 免费可以看黄的视频s色| 亚洲中文字幕无码中文字| 免费无码成人AV片在线在线播放| 国产亚洲美女精品久久久久| av无码东京热亚洲男人的天堂 | 国产成年无码久久久免费| 亚洲VA中文字幕无码一二三区| 无码av免费一区二区三区| 亚洲av永久无码精品三区在线4 | 亚洲国产成人久久精品动漫 | 国产成人免费ā片在线观看| 免费中文字幕视频| 亚洲VA成无码人在线观看天堂| 69视频在线观看免费| 中文字幕精品三区无码亚洲| 国产一级一片免费播放i| 51午夜精品免费视频| 久久精品国产亚洲av影院| 好男人看视频免费2019中文| 日韩在线视频播放免费视频完整版| 精品亚洲永久免费精品| 无人在线观看免费高清视频| 视频免费1区二区三区| 亚洲欧洲国产精品久久| 免费观看亚洲人成网站| 无码人妻一区二区三区免费看| 亚洲精品无码专区在线|