gpt4 book ai didi

ruby-on-rails - Activerecord 的 Rails Domain 模型解耦

转载 作者:行者123 更新时间:2023-12-04 05:58:07 25 4
gpt4 key购买 nike

我一直在阅读“SQL 反模式:避免数据库编程的陷阱”一书,尤其是关于魔 bean 反模式的书。在它显示了一个使用域模型解耦 activerecords 的图表,并在 PHP 中有示例,但不是 Rails,它将此称为域模型和 View / Controller 之间的 HAS-A 聚合以及域模型和 activerecords 之间的 HAS-A 组合(我假设这是 UML 说话)。

在 Rails 中,通过使用模型方法来制作瘦 Controller 胖模型似乎很常见,这些方法可能会操纵其他关联的模型,以便在任何给定的 Controller 中只能使用一个模型。但是,我想知道是否有包括 Rails 中完全解耦的做法?

也就是说,创建一个无表模型或其他类来用作域模型,充当 Controller 和 activerecord 对象(依次映射到表)之间的层,以便 Controller 具有更好的隔离性并且不需要知道任何事情关于底层数据库及其结构。它还提供了摆脱 CRUD 方法的选项,这些方法没有解释它们所应用的应用程序要求,这是书中的另一个批评。

最佳答案

您可能会发现这个基于 Rails 的应用程序很有帮助:https://github.com/qertoip/guru_watch - 它旨在展示如何以 Robert C. Martin 推荐的方式与 ActiveRecord 解耦。它被称为用例驱动架构或实体-控制-边界模式。

关于ruby-on-rails - Activerecord 的 Rails Domain 模型解耦,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6821238/

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