http://www.wickedlysmart.com/HeadFirst/HeadFirstDesignPatterns/HeadFirstPatternsIndex.html
Learn about the patterns that matter—why to use them, when to use them, how to use them (and when NOT to use them).
With Head First Design Patterns, you'll avoid the embarrassment of thinking Decorator is something from the "Trading Spaces" show. Best of all, in a way that won't put you to sleep!
你不想重新發明車輪(或者更差的是,沒有充氣車胎的輪子),所以從設計模式中尋求幫助——設計模式是過去人們面對同樣的軟件設計問題所得到的經驗。有了設計模式,就可以利用其他人的實踐經驗的精華,因此省下的時間可以用在其他的事情上,如:更有挑戰性的事情、更復雜的事情以及更有趣的事情。你想要學習:
*重要的模式
*何時使用某個模式,為何使用該模式
*如何在你自己的設計中馬上采用這些模式
*何時不該使用該模式(如何避免濫用模式)
*某個模式是依據哪些面向對象設計原理而設計出來的
更重要的是這個
http://headrush.typepad.com/creating_passionate_users/