函数编程Functional Programming 会取代GOF设计模式吗?

12-10-20 banq
非常初级的问题在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修改过]

猜你喜欢