設計模式(design patterns)是軟體業最深刻的觀念之一,地位足以與結構化編程、物件導向、函式式編程並列。
設計模式告訴我們:應用程式有相當部分是由可重複、可重用的元素組成的——這些元素解決了多數應用程式都會遇到的問題。
模式的權威著作是 1994 年的 Design Patterns: Elements of Reusable Object-Oriented Software(俗稱 GOF,因四位作者:Erich Gamma、Richard Helm、Ralph Johnson、John Vlissides)。
一如所有好觀念,設計模式被誤解、濫用、過度使用、甚至被當成「過時」或「只適用於 OO」而被拋棄——這是可惜的,因為設計模式至今仍非常有用。
本部要證明:許多 GOF 模式在函式式語言中完全適用,只是表達方式不同。