我们正在从头开始构建新版本的应用程序。我们目前的Rails应用程序已经生产了5年,拥有100个型号。我正在考虑如何简化下一版本的代码库。
我可以看到报告功能和管理功能被分解。尽管如此,应用程序中的大部分内容都基于产品。即使打破报告,我也必须复制模型,这显然不是次优的。
我知道Rails引擎,我不确定该功能是否像它应该的那样强大。另一个问题是当Rails 4已经处于测试阶段时,基于Rails 3.2设计这个应用程序。
我不是在寻找这个意见,我只是想知道是否有一个关于打破模块与建立一个包罗万象的应用程序的约定。该惯例要么存在于社区中,要么不存在。感谢您提供的任何指导。
答案 0 :(得分:2)
我必须复制模型......
您可以考虑将模型移动到gem中,并在每个应用程序中包含gem。
答案 1 :(得分:1)
惯例通常是:
提取引擎或服务(面向服务的体系结构)是对可伸缩性要求的决定。