函式程式設計Functional Programming 會取代GOF設計模式嗎?

banq發表於2012-10-20
非常初級的問題在stackoverflow討論:

函式程式設計Functional Programming 會取代GOF設計模式嗎?oop - Does Functional Programming Replace GoF Design Patterns?

我認為stackoverflow幾個回答得不算很精準,GoF設計模式分為建立型模式 結構型模式和行為型模式。

傳統OO擅長表達結構型模式,而FP擅長於行為模式,當然GoF的行為模式有一些可能是針對OO語言的,而在FP語言中一些行為模式可能無需了,比如Command,但是職責鏈也還是需要的,類似DBC(Design by Contact)。另外,行為如果沒有結構去規範管理,會發生行為滿天飛,直至失控,這實際是傳統程式導向程式設計的最大問題所在。

我們從GOF模式中學習到的是一種結構型別思維和行為函式思維,這是兩種不同的邏輯體系,是四大基本邏輯體系的兩種,沒有誰能替代誰。


[該貼被banq於2012-10-20 10:11修改過]

相關文章