gpt4 book ai didi

model-view-controller - Clojure 中的 MVC 模型

转载 作者:行者123 更新时间:2023-12-03 00:27:34 24 4
gpt4 key购买 nike

作为 Ruby on Rails 开发人员,在设计/实现 Web 应用程序时,我从问题域中获取基本概念/实体,并将它们实现为模型。通常,这些是从 ORM 基类派生的类(例如 ActiveRecord::Base ),它们映射数据库表中的记录并添加包含实现与模型相关的业务逻辑的额外方法。

这种方法的优点是,您可以从问题域中快速找到与该对象相关的所有业务逻辑,这样,如果模型类不大,您可以有效地理解应用程序的该部分是如何工作的。它还与所有表示逻辑分离。此外,由于 ORM,业务逻辑方法包含很少的特定于数据库的代码,因此非常干净且易于阅读。

缺点是这样的类通常会变得非常庞大,因此很难从整体上理解。

所以我的问题是:

  • Clojure 生态系统是否提供了一些与 OOP 的 ORM 类似功能的库?
  • 组织此类代码的“Clojure 方式”是什么?
  • 该方法的优点和缺点是什么?
  • 一些文章/书籍/演讲可以解释并证明该方法的合理性?
  • 是否有一些开源(示例)应用程序可以展示该方法?

最佳答案

Clojure 开发背后的驱动理念之一是 separate complex things最大限度地合理,并将数据视为数据,从而避免组合数据和单独value state and identity

  • Clojure 生态系统是否提供了一些与 OOP 的 ORM 类似功能的库?使用纯函数处理数据(将一种数据结构转换为另一种数据结构)的愿望导致一些 clojure 程序员回避 ORM,尽管如果您确实想要的话,没有理由不能在 Clojure 中使用 Hibernate

  • 组织此类代码的“Clojure 方式”是什么?我喜欢Amit Rathore's presentation of the topic

  • 该方法的优点和缺点是什么?Rich Hickey 在这篇文章 classic video 中对这些想法进行了精彩的讨论。
  • 一些文章/书籍/演讲解释并证明了该方法的合理性?我个人推荐Joy of Clojure ,

关于model-view-controller - Clojure 中的 MVC 模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19168105/

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