gpt4 book ai didi

dependency-injection - 函数式语言中的分解(模块化)

转载 作者:行者123 更新时间:2023-12-04 04:00:47 28 4
gpt4 key购买 nike

有一个想法:函数(在 FP 中)可以以与 OOP 中的组件类似的方式组成。对于 OOP 中的组件,我们使用接口(interface)。对于函数,我们可以使用委托(delegate)。目标是实现分解、模块化和互换性。我们可以使用依赖注入(inject)来使它更容易。

我试图找到有关该主题的内容。没运气。可能是因为没有足够大的功能程序需要这个?在搜索用 FP 编写的企业级应用程序时,我发现了这个列表。
Functional Programming in the Real Worldthis paper .
我希望我只是错过了 FP 的杀手级应用程序,它们足够大,值得分解。

问题:您能否展示使用分解为模块的体面的真实世界 FP 应用程序(最好是开源的)?

额外的喋喋不休:通常使用的模式是什么?什么样的功能通常被分解成单独的模块?是否曾经为了测试目的而模拟过这些实现?

最佳答案

前段时间我在学习 F# 并且想知道相同的主题,所以我询问了 quality open source projects to learn from .

在函数式编程中你没有看到任何类似于依赖注入(inject)的东西的原因是它只是“自然的”,因为你只是通过传递或组合函数来“注入(inject)依赖”。或者正如本文所说,“Functional dependency injection == currying”,但这只是一种机制。

模拟框架不是必需的。如果你需要模拟一些东西,你只需传递一个“ stub ”函数。

另见 this question about real-world Scala applications .

关于dependency-injection - 函数式语言中的分解(模块化),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3774224/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com