百科问答小站 logo
百科问答小站 font logo



类似于继承这样的方法在函数式编程里如何解决? 第1页

  

user avatar   zhang-jun-94-52 网友的相关建议: 
      

题主的问题在于混淆了目的和手段。

继承是一个手段而不是目的,所以你要问fp里面怎么搞继承,首先思路就是错的。

就和不能问枪怎么砍人是一样的。同样是杀人这个目的,枪和刀的手段天生是不同的。(即使你用有刺刀的步枪也别因为以前用刀顺手就真把它当刀用)

而继承用来解决什么问题,最简单的就是看哪些设计模式主要靠继承。

我自己在学fp之后有回头去再看过设计模式,很多设计模式在fp中都消失了--变成了语言基本功能。最典型的莫过于策略模式,放在fp里面就是把算法函数定义成一个参数就可以了要个屁的模式啊。

对了,虽然书很久没有翻了,我还记得虽然用的java,但是作者有提到过一点,“多用组合,少用继承”。也就是说即使在OO里面继承也算不上是受推荐的手段,题主就别念念不忘了。




  

相关话题

  F#内的函数怎样和C#的Action互相转换? 
  类似于继承这样的方法在函数式编程里如何解决? 
  数学和编程中,「函数」的概念相同在哪里,不同在哪里? 
  类似于继承这样的方法在函数式编程里如何解决? 
  Scheme语言中的“不可变数据”会产生性能问题吗? 
  什么是 Type Driven Development ? 
  数学和编程中,「函数」的概念相同在哪里,不同在哪里? 
  关于 贫血模型 与 函数式编程 的疑问? 
  怎样用简单的语言解释 monad? 
  函数式编程(Functional Programming)相比面向对象编程(Object-oriented Programming)有哪些优缺点? 

前一个讨论
为什么在数学中,一些运算的逆运算比原运算难很多?
下一个讨论
如何看待「三年起步,最高死刑」这句话?





© 2025-03-04 - tinynew.org. All Rights Reserved.
© 2025-03-04 - tinynew.org. 保留所有权利