搜尋

首頁  >  問答  >  主體

java - 如何学习设计模式?

都说设计模式很重要,但是对于一个刚入门经验不足的新手,如何有效的学习设计模式,请大神们指教一二?

大家讲道理大家讲道理2806 天前1341

全部回覆(12)我來回復

  • 伊谢尔伦

    伊谢尔伦2017-04-18 10:31:33

    光看書並不能讓你成為精通設計模式的人,更別說能馬上應用到實際專案
    建議多讀讀開源程式碼,體會別人的程式碼中是如何應用設計模式的,實際上
    真正使用的設計模式,往往是23中設計模式的變體,並非一味對著書本就
    可以。 JDK原始碼就是不錯的學習設計模式的資料
    透過java.io.*,可以學習裝飾者模式
    透過jdbc的api,可以學習到橋接模式
    看java裡Proxy的程式碼,可以學到代理模式
    等等...

    回覆
    0
  • PHP中文网

    PHP中文网2017-04-18 10:31:33

    推薦先讀這本《大話設計模式》,先搞清楚為什麼要用設計模式。

    這個是需要經驗累積的,平常一點點的思考、應用和改進,不要為了使用設計模式而照貓畫虎的搬。

    簡單來說,設計模式就是一些解決常見問題的方法總結。注意我說的是常見問題,而我們的需求往往是複雜多樣的,所以往往都是多種設計模式一起用,或者根據自己的需要變通的做,不一定死照著模式的方法去做。

    優雅、有效率、實用,是我們追求的,所以設計模式很重要,它讓我們更抽象的思考問題。

    回覆
    0
  • PHP中文网

    PHP中文网2017-04-18 10:31:33

    現在買了一本《Head First 設計模式》。 。同新手,,先看這篇熟悉下。 。

    回覆
    0
  • 黄舟

    黄舟2017-04-18 10:31:33

    先告訴你為什麼重要:

    • 一些主流框架裡都使用了很多的設計模式,不懂設計模式去了解框架原理的時候會很吃力

    • 減少程式碼冗餘度,讓程式碼易於擴充等

    再談談書本:

    • 《大話設計模式》還成,裡面的語言是C#,然而C#和Java很像

    • 《設計模式之禪(第2版)》這本書我翻了一下,感覺還不錯,用Java寫的

    • 圖解系列的最新書籍-《圖解設計模式》,圖解系列對新手是非常友善的,也是用Java寫的,推薦

    當然,你也可以去慕課網看一點關於設計模式的影片。講得還算可以。

    然後你要做的是去多寫程式碼,並思考哪些程式碼可以用哪些設計模式,不要憑空想像,要運用於實戰,紙上談兵是不可取的。

    回覆
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-18 10:31:33

    沒有大量程式碼實踐, 認真思考

    學習設計模式, 猶如設計「空中樓閣」

    回覆
    0
  • 大家讲道理

    大家讲道理2017-04-18 10:31:33

    看看範例,寫個範例,好像這是學習Coding普遍方法。


    這裡有個教學介紹了各個模式並給出了範例。試試自己另外找一個情形來應用這些模式。當然也不能過度使用,To A Man with a Hammer, Everything Looks Like a Nail.

    回覆
    0
  • ringa_lee

    ringa_lee2017-04-18 10:31:33

    設計模式就是使用中一些經驗的總結,能夠解決特定背景下的問題。

    首先要理解其能解決什麼問題?如何解決的?優缺點? 自己寫幾個小例子,之後可以看下Java類別庫中的設計模式的使用,開源框架中設計模式的使用。

    總之,多看多寫多思考。

    回覆
    0
  • 巴扎黑

    巴扎黑2017-04-18 10:31:33

    剛入門的新手不要去學設計模式,你還有更重要的東西要去學。你要先熟悉你用的語言,再熟悉你用的框架類別庫的用法,再累積一定的程式碼量,然後再來學習設計模式。

    思想是建立在語言的基礎上的,不精通語言,思想如同空中樓閣。

    回覆
    0
  • PHPz

    PHPz2017-04-18 10:31:33

    慕課網有個大話php設計模式我覺得講的還是很明白的,用了很多例子,你會發現其實你自己在編碼過程中經常無意間就用到了各種設計模式。

    回覆
    0
  • 怪我咯

    怪我咯2017-04-18 10:31:33

    如果你有程式碼實現,可以學習一下,否則等累積一定經驗再來學,不然就是閉門造車,就算學了你也不知道用在什麼地方,什麼時候寫工廠好點?什麼時候用觀察者模式好一點?看了二十幾年A片,不如你真正上那麼一次床,所以你在開發經驗不足的情況下,空有理論也沒用,除非你能把模式直接用在你現在正在做的程式碼裡,否則你就簡單了解一下,等真正需要時候能想起來有這種東西可能可以用到,到時候再詳細去研究,到那種情況,XXX情況下用不用模式就會是你需要思考的第二個問題了

    回覆
    0
  • 取消回覆