logback和log4j2區(qū)別 零基礎(chǔ)的人如何學習Java?
零基礎(chǔ)的人如何學習Java?我已經(jīng)使用java很長時間了,并且已經(jīng)出版了關(guān)于java的書籍,所以讓我來談?wù)剬W習java的過程。java學習的重點是web開發(fā),學習的難點是對java面向?qū)ο蟾拍畹睦斫狻?/p>
零基礎(chǔ)的人如何學習Java?
我已經(jīng)使用java很長時間了,并且已經(jīng)出版了關(guān)于java的書籍,所以讓我來談?wù)剬W習java的過程。
java學習的重點是web開發(fā),學習的難點是對java面向?qū)ο蟾拍畹睦斫狻W習java需要一個系統(tǒng)的過程,在學習java的不同階段需要做不同的準備。下面是一個描述(以web開發(fā)為例)。
在第一階段,我為自己設(shè)定了方向。例如,我想在將來做web開發(fā)或Android開發(fā)。當我有了方向,我自然知道我的重點是什么。畢竟,編程語言是一種工具,所以在學習工具之前我需要知道該怎么做。
第二階段是開始了解Java的語法細節(jié)。此階段的準備工作是構(gòu)建開發(fā)環(huán)境并安裝JDK。在學習初期,建議使用記事本編程,鍛煉程序員的手寫代碼能力,并在編程初期養(yǎng)成一些好習慣。
第三階段是開始學習web開發(fā)。在這個階段,我們需要準備數(shù)據(jù)庫知識和一些前端知識。數(shù)據(jù)庫產(chǎn)品可以選擇mysql,mysql也是一種應(yīng)用廣泛的數(shù)據(jù)庫產(chǎn)品。
第四階段開始學習框架開發(fā)。框架開發(fā)可以節(jié)省大量的開發(fā)時間。目前,springmvc得到了廣泛的應(yīng)用。
第五階段開始實習。實習對程序員的成長有很大的幫助。通過實際項目的磨練,我們將更全面地掌握編程語言。
Service層和Dao層真的有必要每個類都加上接口嗎?
這主要取決于您的項目:
例如,如果項目中使用hibernate,以后可能會切換到mybatis,那么Dao需要使用該接口。這不會影響上層代碼的更改。
另一個例子是,項目是一個單一的應(yīng)用程序。任何代碼修改都需要重新編譯整個項目,因此不需要接口。如果項目是由模塊編譯和部署的,那么可以使用接口解耦。假設(shè)修改了Dao,只需要重新編譯和部署Dao模塊,而不影響上層模塊。
此外,如果項目團隊中有許多新手,簡單的代碼結(jié)構(gòu)可能更合適。復雜項目結(jié)構(gòu)的學習成本較高。
如果工程進度非常緊迫,我們可以用簡單粗暴的方式用經(jīng)濟成本來說明原因。
使用接口的成本是不使用接口的成本(包括后續(xù)維護成本)。
如果項目變化很大,部署了模塊,項目不急,使用接口的成本比不使用接口的成本低,雖然早期不使用接口似乎更簡單;相反,不使用接口的成本低,而且連框架都不能用~
畢竟工具是提高效率的,那你為什么不能和自己相處呢!