這是Artima Developer的總編 Bill Venners對(duì)Erich Gamma的采訪中的
第四部分。在前三部分中,Bill和Erich討論了
如何思考和使用Design Pattern,
靈活性以及可重用性和
如何對(duì)Interface編程以及使用使用object composition而不是類(lèi)繼承
在第四部分中,Bill和Erich討論了設(shè)計(jì)模式如何與解決問(wèn)題相配對(duì),設(shè)計(jì)模式如何幫助你理解問(wèn)題解決得意圖,以及如何通過(guò)練習(xí)成為一個(gè)好的設(shè)計(jì)師。
[Update: 一些心得]:
如何成為一個(gè)好的設(shè)計(jì)師?理解這些設(shè)計(jì)模式是不夠的,僅僅只讀完了GoF這本書(shū)也是不夠的。還需要做甚呢?你需要練習(xí),需要看代碼,看其它好的設(shè)計(jì)師是如何設(shè)計(jì)系統(tǒng)的。
In addition to reading books, you need to read and understand lots of code, see how existing systems solve a particular problem and what experienced designers did. Basically what design patterns do is to tell you what these developers have done. But, just reading about it isn't enough. You become a master by mimicking the work of excellent developers. ….. Not only do you learn about a particular development process you will also learn how to communicate about a design in a group of developers. As a good designer you not only come up with good designs you also communicate and defend them. You have to practice, like an apprentice in a way. Over time you'll become as experienced as experienced designers.
作為一個(gè)新手,就算理解了GoF中的所有設(shè)計(jì)模式,也還是不夠的,重要的,要知道,在什么時(shí)候,什么情況下,使用什么樣的patterns。 而這往往是非常難的。 通常只有完成了之后,仔細(xì)思考自己的設(shè)計(jì)和代碼的時(shí)候才會(huì)發(fā)現(xiàn)需要使用某個(gè)模式,或者某一種模式使用錯(cuò)了。 這個(gè)時(shí)候,就需要使用“重構(gòu)”技術(shù),來(lái)應(yīng)用你覺(jué)得正確的模式。 只有練習(xí)再練習(xí)。
記住這句話:look to the master, follow the master, walk with the master, see through the master, become the master…

第一部分
第二部分
第三部分
Eclipse
