回覆列表
-
1 # 此生唯一
-
2 # 這樣學程式設計不枯燥
很多人都說“我們做的專案中用不到設計模式,學這個沒用”,設計上的事就是這樣,想到了, 就能比較優雅的解決問題,想不到的話, 就只能使用到處修改程式碼的方法比較笨拙的應對問題,還容易將專案弄的混亂。其實設計模式並不難,難的是真正領悟他的精妙,並且能靈活的運用於日常專案的開發。
學習java的設計模式,先把基礎夯實,基本的java知識點都會了,像什麼java基礎,java web,框架等,做過一些專案,這些都熟悉之後,再去學習設計模式,更能體會到設計模式的好處。
java的設計模式大體上分為三大類:
建立型模式(5種):工廠方法模式,抽象工廠模式,單例模式,建造者模式,原型模式。結構型模式(7種):介面卡模式,裝飾器模式,代理模式,外觀模式,橋接模式,組合模式,享元模式。行為型模式(11種):策略模式、模板方法模式、觀察者模式、迭代子模式、責任鏈模式、命令模式、備忘錄模式、狀態模式、訪問者模式、中介者模式、直譯器模式。瞭解過“如鵬網”的java提高班課程,講的挺詳細的,裡面有設計模式的內容,可以作為學習路線參考。2、NoSQL3、設計模式4、分散式技術5、綜合專案 -
3 # Jet啟思
設計模式從你入門了程式設計之後就可以琢磨了,很多人說設計模式需要多年的經驗累積才能學習,我不覺得是這樣,早早的接觸設計模式,琢磨設計模式的精髓對程式設計和進階有很大的幫助,當然,剛入門就是需要反覆琢磨,多去接觸。
設計模式就相當於江湖中的葵花寶典,你可以打下良好的基礎後開始學習,以求更進一步,也可以一開始就學習,但是難於掌握其精髓!
設計模式是基於程式碼設計原則(單一職責原則,狄米特法則,里氏替換原則,依賴倒置原則,介面隔離選擇,開閉原則)形成的一套可靈活在不同場景中,寫下穩定,可擴充套件,耦合度低的程式碼的一種正規化!
設計模式可以說是程式設計大牛留下的寶貴的財產,但並非一開始就適合進行設計模式的學習,很多程式設計理念只有在掌握了一定的業務知識和程式碼程式設計之後才會發現其精髓!
舉兩個簡單的例子:
1,策略模式:比如說你要去某個地方,有地鐵,公交,打車,騎車等多種方式,原始的做法是你直接在業務程式碼裡面做判斷,然後根據選擇例項化哪個方式,你的業務和移動方式出現很大的耦合!
但如果你用策略模式,只需要在業務程式碼中加一個排程類(無論新增多少策略,都不會變),在排程類中選擇例項化物件,在新增一個方式(比如走路)的時候,不用在原來的業務程式碼中,再去new一個相應的物件,只需要實現移動方式的介面,然後在排程類中例項化即可!實現了業務程式碼和乘車方式之間的解耦!
2,修飾模式:比如說你的一個介面返回5,一個呼叫方需要你返回4,另一個需要你返回6,原始做法是在原來的程式碼中做判斷,這個渠道給4,另一個渠道給6,然後,有越來越多的渠道,你在原來的程式碼裡面做超級多的判斷,可能渠道之間有更多的耦合!
那麼使用修飾模式又會怎樣呢?保持輸出為5的介面不動,然後新增類根據原介面進行修飾,相容輸出其他值,不汙染原來程式碼的同時,實現了不同渠道之間的解耦,滿足了開閉原則(不在原來的程式碼上動刀)!
我一開始學習設計模式的時候,覺得囉嗦繁瑣,一些中間類看著沒用,等到知識漸漸豐富,發現設計模式對於編碼有著很大的提高,改的也不會那麼頻繁了!所以,對於設計模式,早學,早懂,能讓你在程式設計路上走的更好,更輕鬆!