【问题标题】:What to do with my monolithic model?如何处理我的单体模型?
【发布时间】:2011-03-07 05:54:00
【问题描述】:

我的用户模型大约有 2k 行代码。我相信很多应用程序都是这种情况。然而,在我看来,在超过 400 行代码的模型中,可读性甚至可维护性开始下降。于是我开始在用户模型中取相关代码,并在lib中的模块中组织起来。例如,如果我有与用户朋友相关的代码,那么我创建了一个名为 UserFriend 的模块并将其包含在用户模型中。

这样做有助于解决最初的问题。但是,缺点是每次我在开发环境中修改模块中的代码时,我都必须重新启动服务器才能加载它。

所以:

  1. 是我原来的方法 处理单体模型 正确吗?
  2. 我可以做些什么来避免 必须重新启动我的服务器才能加载 用户模块中的代码更改?

【问题讨论】:

    标签: ruby-on-rails ruby module model


    【解决方案1】:

    关于如何在开发模式下自动重新加载lib 文件夹,网上流传着一些解决方案。

    One post我发现如果你需要使用require_dependency而不是require的文件,文件将在每次请求时重新加载。

    另一个更“hacky”的解决方案can be found here,包括将before_filter 添加到您的ApplicationController

    【讨论】:

      【解决方案2】:

      您可以做一件事,只需将您的辅助模块保存在模型文件夹中,而不是保存在 lib 文件夹中,或者在模型中创建一个文件夹,您可以在其中保存所有辅助模块。我认为这种方法没有任何问题。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-07-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多