Design Patterns 這本書是 Teddy 在 1997年10月24日在天瓏書局買得,算一算已經是14 年前了事了。當初會買這本書,好像是在 BBS 討論區看到某位前輩提到這本書,後來去天瓏翻了一下覺的寫得真棒就買回家。一看之下真的不得了,讀完之後(其實沒有整本全部讀完啦)覺的自己的軟體設計功力大增。書中所講得設計觀念,現在看起來可能覺的是「常識」,可是有好多 patterns 可是 Teddy 自己慢慢在專案中一一自己實做過之後,才體會到這些 patterns 的意義(剛開始自己學習的時候也是一頭霧水)。
***
10 幾年前 Teddy 也有做了一些投影片,在自己還是一知半解的情況下,跟公司的同仁分享 Design Patterns(好東西要跟好朋友分享啊)。當年 Teddy 還是個年輕小伙子,被問到自己也不懂的地方,就說一聲「不會」也就沒事了。但是現在「年事已高」,如果還被問到不會的地方就有點尷尬了(年紀大有年紀大耍無賴的方式...XD)。所以才想說把書拿出來「盤點」一下,看看那些 patterns 是自己很熟的,那些是很少實做而且已經忘得差不多的。
- Creational patterns:幾乎稍微大一點的案子都會用到裡面的五種 patterns,尤其是 Singleton,Factory Method 和 Builder。
- Structural patterns:除了 Decorator、Flyweight 以外,其他的 patterns 用到的機會都滿多的。
- Behavioral patterns:Command、Observer、State、Strategy、Template Method、Visitor 用到的機會最多,Iterator、Mediator 次之,Chain of Responsibility、Interpreter、Memento 比較少用到(後面這三個有用過嗎?)。
對於一個剛接觸 design patterns 的新人,Teddy 會建議學習順序為:
- Singleton、Factory Method、Adapter、Composite、Command、Observer。
- Builder、Abstract Factory、Facade、Proxy、State、Template Method。
- Bridge、Strategy、Visitor、Mediator、Iterator、Prototype。
- Decorator、Flyweight、Chain of Responsibility、Interpreter、Memento。
上述建議純粹為 Teddy 個人的偏見,鄉民隨便看看就好,不用太在意。
寫到這邊突然有一個問題:真的有鄉民把這
http://teddy-chen-tw.blogspot.ca/2012/01/design-patterns.html
No comments:
Post a Comment