http://fcamel.twbbs.org/archives/2007/01/14/247/
[2] http://en.wikipedia.org/wiki/Design_pattern_(computer_science)#Criticism
[3] http://en.wikipedia.org/wiki/Double_dispatch
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 203.70.75.158
※ 編輯: ellinas 來自: 203.70.75.158 (02/08 19:48)
最近看到一些關於反design pattern的看法 [1]
其中最著名的當屬Paul Graham以及Beyond Java這本書
Paul認為 當他看到程式之中有重覆性出現時 他認為是警訊 [2]
因為這表示程式abstraction的程度還不夠
才有這種類似copy的模式出現
(當然這與copy&paste code的層次明顯不同 -.-")
我也看過有人認為GoF的design pattern是C++的補釘大全
像是Visitor採用的double dispatch [3]
在某些程式語言直接有支援 也就不需要採用Visitor這個pattern
但是我忘記這是在那裡看到的 有人知道這個說法的出處嗎?
版上各位對design pattern的看法又是如何呢?在實際使用方面呢?
我平常寫程式時也常會使用一些基本的pattern
像是singleton, factory, visitor 但對有些pattern還是未能運用自如
我覺得pattern是還蠻重要的 可以把思考提升一個層次
學習pattern除了看書外 假如能碰到需要使用的場合
使用過幾次 看到問題就能想到pattern
這方面光看書應該比較難體會 一些實務經驗似乎是必需
版主之前有發表過關於pattern的文章 但似乎是持反對立場
不知道我們應該對pattern持什麼樣的態度呢?
[1]