AntiPattern 衍生自 Design Pattern 的概念,將他翻譯為 “反面” 模式,我個人認為不太適用, AntiPattern 的英文說明是 An AntiPattern is a pattern that tells how to go from a problem to a bad solution. ,簡單的來說, AntiPattern 提供了一個不太理想的問題解決方法。
一個解決方法要被列入為 AntiPattern ,也不是那麼容易,需要有幾個特性
- 看起來非常的吸引人,看起來就像 Design Pattern 一樣吸引人。
- 當試著把這個 Pattern 實用在 Application 以及會引來巨大的副作用(開發上、效能上)。
- 會有一個相對應的 Design Pattern 可以來取代這個 AntiPattern。
其實過去只是叫這些解決方法 “Bad Idea”,,但現在給一個更理想的名字叫 “AntiPattern”
在學習上,學習這些 “Bad Ideas” 是相當有必要的,這些 AntiPattern 給我們一個提醒,怎麼樣的模式會造成不好的影響,我們可以透過哪些好的 Pattern 來修正。
參考: AntiPatterns