Thursday, December 28, 2017

Clojure 函數與 Design Pattern

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 來寫的話,會簡單許多