一个大的Rails应用程序与单独的应用程序

fl0*_*00r 1 ruby ruby-on-rails ruby-on-rails-3

我正在做一个大项目.现在我们需要添加新功能:scheduler管理.这不是应用程序的主要任务,但它是相当复杂的一部分.

将其作为单独的应用程序提取是否是个好主意?

它将共享一些数据(用户和一些其他个性),它将使用相同的数据库.

我想要做的主要原因是简化主要应用程序.

我明白,这可能是一个太宽泛的问题.但也许您可以分享您开发此类应用程序的经验,也许我可以阅读任何文章和全球最佳实践.

Mar*_*bot 5

虽然其他人已经提到了分离应用程序的一些好处,但我会谈到为什么您可能不想分离代码的几个原因.

  1. 您将需要维护一组测试,特别是如果两个应用程序共享同一个数据库.如果不这样做,很难预测何时更改一个应用程序会破坏另一个应用程序,特别是如果应用程序开始需要从数据库中获取不同的东西.
  2. 这两个应用程序显然会有很多重叠(例如用户).分成两个应用程序可能会强制您重复代码,因为默认情况下rails有一些关于如何构建rails应用程序的非常具体的想法.例如,如果您的应用程序正在共享某些视图,那么当一个应用程序想要修改视图时,您将如何协调两个应用程序中的更改?

这些都不是不可克服的,但是当你遵循rails约定时,rails最容易开发.当你开始偏离时,你最终不得不做更多的工作.此外,不要将这些要点中的任何一个视为使其他答案无效,而只是考虑您需要考虑的对应点.