相关疑难解决方法(0)

实现函数式编程中的多态性

我目前正在享受从面向对象语言到功能语言的过渡.这是一股清新的空气,我发现自己比以前更富有成效.

但是 - 有一个方面的OOP我还没有在FP方面看到一个令人满意的答案,那就是多态性.即我有大量的数据项,当它们被传递到某些函数时需要以完全不同的方式处理.为了论证,让我们说有多种因素推动多态行为,因此潜在地指数多种不同的行为组合.

在OOP中,可以使用多态性相对较好地处理:通过组合+继承或基于原型的方法.

在FP中我有点卡在:

  • 通过分支每个数据项的值来编写或编写有效实现多态行为的纯函数 - 感觉就像组装一个巨大的条件甚至模拟虚拟方法表!
  • 将函数以类似原型的方式放在纯数据结构中 - 这看起来似乎有效,但是它是否也违反了将数据与数据分开定义的想法?

对于这种情况,推荐的功能方法是什么?还有其他好的选择吗?

language-agnostic oop polymorphism functional-programming prototype

50
推荐指数
4
解决办法
7240
查看次数