是否应该在设计层面应用函数式编程实践,即在我们识别和设计类层次结构时,还是仅在编写函数体时才适用?
我的感觉是我们使用普通的OOP技术进行设计过程,并使用功能方法编写实现。
请你的想法!
答案 0 :(得分:4)
设计过程应与OOP无关。也许我们需要对象和类,也许我们不会。也许很大一部分将使用功能技术。也许它只需要一个5分钟的perl脚本。这取决于我们想要实现的目标。
也就是说,可以说OOP可能会妨碍纯粹的功能设计。可以提出其他论点,但事实并非如此。可以提出另一个论点,即您只需要使用最佳判断并平衡两种范式。其他人会说,这两种方法是正交的,可以合并而不会发生冲突。
但它真的很抽象。答案是MU。提出一个真正的问题,然后我们就能告诉你功能或oop方法是否合适,以及在什么级别。
答案 1 :(得分:2)
F#有一个有趣的博客,标题为How does functional programming affect the structure of your code?。
我倾向于同意他的评估,即在模块和子系统层面,函数式编程往往会对实际代码结构,实现级别和单个例程产生最大影响,对整体架构的影响较小。
也就是说,我也认为FP可以影响问题的攻击方式,并且通常可以导致完全不同的方法,例如DSL,异步代码,过滤器图,演员等,但这些都可以被认为是“在媒介“不影响更大架构的解决方案,如分布式,REST,客户端 - 服务器等
答案 2 :(得分:0)
如果您想在FP
中实施,我对设计FP
方法有点偏向。
但是,Breton
指出选择是主观的。
参考。
答案 3 :(得分:0)
我同意用FP实现技术进行OOP高级分解是一个很好的策略;我在博客中对此进行了讨论:
How does functional programming affect the structure of your code?