【问题标题】:What replaces the MVC pattern in functional programming?什么取代了函数式编程中的 MVC 模式?
【发布时间】:2013-05-31 13:30:00
【问题描述】:

我是一名 MVC Web 开发人员,对编写 Web 应用程序的函数式编程非常感兴趣(具体来说,我对 Erlang 和 Cowboy 很着迷。)

我无法找到答案/资源是什么模式用于替换 FP 中的 MVC。

显然,ORM 的想法在 FP 中是可笑的,因为它不是面向对象的,那么用什么来代替它来实现持久性逻辑呢?是否通常只构建一个使用库来创建与数据存储交互的函数的模块,或者是否有类似于 ORM 的工具?

我们将不胜感激建议和资源链接。 Erlang/Cowboy 特定帮助的奖励积分。谢谢。

【问题讨论】:

标签: orm functional-programming erlang cowboy


【解决方案1】:

Erlang 有 MVC 框架。例如,它是 ChicagoBoss。

【讨论】:

  • 谢谢伙计。我看过 ChicagoBoss,我想我更喜欢 Cowboy 或 WebMachine 之类的更苗条的东西。我意识到这意味着没有 ORM 等效项,但我试图弄清楚 FPers 通常如何在没有 ORM 的情况下做到这一点。
  • 您可能想看看nitrogenproject.com - 它不完全是 MVC(它是使用 Erlang 模式匹配的事件驱动的)。我发现它重量轻,开发周期快。顺便说一句,在 Erlang 中较少需要类似 ORM 的工具,因为 Mnesia 等数据库允许将术语存储在数据库中并作为术语读回,即不需要 映射或翻译层,因为没有什么可翻译的。
【解决方案2】:

Lift 框架(用 Scala 编写)使用称为“视图优先”的模式。

关注链接https://www.assembla.com/wiki/show/liftweb/View_First

【讨论】:

    【解决方案3】:

    我是 erlang 的编码员。我使用 erlang 作为我的网络游戏服务器... 所以......没有视图......在功能语言中,这不是模型...... 所以从我的角度来看,函数语言不需要MVC (就像函数语言中没有类或子类..)

    【讨论】:

      【解决方案4】:

      引用@yarivs 的article

      Erlang 确实在 MVC 的所有字母中占有重要地位。对于模型,忘记数据库抽象层:您有一个名为 Mnesia 的纯 Erlang 分布式数据库。对于视图,Yaws 具有 ehtml。对于控制器,Yaws 有 appmods 和 Erlang 的模式匹配。

      我希望这会有所帮助。

      【讨论】:

        猜你喜欢
        • 2021-10-17
        • 2010-09-24
        • 2010-11-04
        • 2011-03-30
        • 2010-11-10
        • 2010-09-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多