是构建单个巨型应用程序或模块化的Rails方法吗?

时间:2012-11-29 16:43:56

标签: ruby-on-rails ruby-on-rails-3.2

我们正在从头开始构建新版本的应用程序。我们目前的Rails应用程序已经生产了5年,拥有100个型号。我正在考虑如何简化下一版本的代码库。

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

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

我不是在寻找这个意见,我只是想知道是否有一个关于打破模块与建立一个包罗万象的应用程序的约定。该惯例要么存在于社区中,要么不存在。感谢您提供的任何指导。

2 个答案:

答案 0 :(得分:2)

我必须复制模型......

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

答案 1 :(得分:1)

惯例通常是:

  • 构建为一个应用程序
  • 让课程尽可能少地了解其他课程
  • 伤害时提取

提取引擎或服务(面向服务的体系结构)是对可伸缩性要求的决定。