23 個 Design Pattern 一直是我覺得很不容易精通的東西。還好, Peter Norvig 也提了他的看法,認為 Design Pattern 在 functional programming language 裡並不是很必要的東西,因為 FP 讓 function 成為 first class citizen ,會讓 Design Pattern 大幅簡化。
這邊還是記錄一下,在寫 Clojure 時,哪些 Design Pattern 會被 Clojure 的核心函數大幅簡化的。
1. Factory Pattern
用 partial 即可
2. Visitor Pattern
用 defmulti 即可
3. Observer Pattern
用 add-watch 來寫的話,會簡單許多