3

我们正在从头开始构建我们的应用程序的新版本。我们当前的 Rails 应用程序已经投入生产 5 年,有 100 个模型。我正在考虑为下一个版本简化代码库的方法。

我可以看到报告功能和管理功能正在分解。不过,应用程序中的大多数内容都是基于产品的。即使打破报告,我也必须复制模型,这显然不是次优的。

我知道 Rails 引擎,我只是不确定该功能是否像它应该的那样强大。另一个问题是在 Rails 4 已经处于测试阶段时基于 Rails 3.2 设计此应用程序。

我不希望这是一篇评论文章,我只是想看看是否存在打破模块与构建包罗万象的应用程序的约定。该约定要么存在于社区中,要么不存在。感谢您提供的任何指导。

4

2 回答 2

2

我将不得不复制模型...

您可以考虑将模型移动到 gem 中,并在每个应用程序中包含 gem。

于 2012-11-29T17:33:52.540 回答
1

约定一般是:

  • 构建为一个应用程序
  • 让班级尽可能少地了解其他班级
  • 疼的时候拔掉

提取到引擎或服务(面向服务的架构)取决于您的可扩展性要求。

于 2012-11-29T16:55:26.093 回答