伊谢尔伦2017-04-18 10:31:33
光看書並不能讓你成為精通設計模式的人,更別說能馬上應用到實際專案
建議多讀讀開源程式碼,體會別人的程式碼中是如何應用設計模式的,實際上
真正使用的設計模式,往往是23中設計模式的變體,並非一味對著書本就
可以。 JDK原始碼就是不錯的學習設計模式的資料
透過java.io.*
,可以學習裝飾者模式
透過jdbc的api,可以學習到橋接模式
看java裡Proxy的程式碼,可以學到代理模式
等等...
PHP中文网2017-04-18 10:31:33
推薦先讀這本《大話設計模式》,先搞清楚為什麼要用設計模式。
這個是需要經驗累積的,平常一點點的思考、應用和改進,不要為了使用設計模式而照貓畫虎的搬。
簡單來說,設計模式就是一些解決常見問題的方法總結。注意我說的是常見問題,而我們的需求往往是複雜多樣的,所以往往都是多種設計模式一起用,或者根據自己的需要變通的做,不一定死照著模式的方法去做。
優雅、有效率、實用,是我們追求的,所以設計模式很重要,它讓我們更抽象的思考問題。
黄舟2017-04-18 10:31:33
先告訴你為什麼重要:
一些主流框架裡都使用了很多的設計模式,不懂設計模式去了解框架原理的時候會很吃力
減少程式碼冗餘度,讓程式碼易於擴充等
再談談書本:
《大話設計模式》還成,裡面的語言是C#,然而C#和Java很像
《設計模式之禪(第2版)》這本書我翻了一下,感覺還不錯,用Java寫的
圖解系列的最新書籍-《圖解設計模式》,圖解系列對新手是非常友善的,也是用Java寫的,推薦
當然,你也可以去慕課網看一點關於設計模式的影片。講得還算可以。
然後你要做的是去多寫程式碼,並思考哪些程式碼可以用哪些設計模式,不要憑空想像,要運用於實戰,紙上談兵是不可取的。
大家讲道理2017-04-18 10:31:33
看看範例,寫個範例,好像這是學習Coding普遍方法。
這裡有個教學介紹了各個模式並給出了範例。試試自己另外找一個情形來應用這些模式。當然也不能過度使用,To A Man with a Hammer, Everything Looks Like a Nail.
ringa_lee2017-04-18 10:31:33
設計模式就是使用中一些經驗的總結,能夠解決特定背景下的問題。
首先要理解其能解決什麼問題?如何解決的?優缺點? 自己寫幾個小例子,之後可以看下Java類別庫中的設計模式的使用,開源框架中設計模式的使用。
總之,多看多寫多思考。
巴扎黑2017-04-18 10:31:33
剛入門的新手不要去學設計模式,你還有更重要的東西要去學。你要先熟悉你用的語言,再熟悉你用的框架類別庫的用法,再累積一定的程式碼量,然後再來學習設計模式。
思想是建立在語言的基礎上的,不精通語言,思想如同空中樓閣。
怪我咯2017-04-18 10:31:33
如果你有程式碼實現,可以學習一下,否則等累積一定經驗再來學,不然就是閉門造車,就算學了你也不知道用在什麼地方,什麼時候寫工廠好點?什麼時候用觀察者模式好一點?看了二十幾年A片,不如你真正上那麼一次床,所以你在開發經驗不足的情況下,空有理論也沒用,除非你能把模式直接用在你現在正在做的程式碼裡,否則你就簡單了解一下,等真正需要時候能想起來有這種東西可能可以用到,到時候再詳細去研究,到那種情況,XXX情況下用不用模式就會是你需要思考的第二個問題了