我有这个中型应用程序开始变得太复杂了。我正在考虑将它分成两部分。但我不确定如何在这些之间分享信息。
我已经能够制作两大组模特;一组处理“图片”,另一组处理“销售数据”。
我想,必须复制一些实用新型,例如与认证/授权相关的实用新型。但是让我们专注于两个大集团。
这两个数据集由不同的人陪伴,所以他们会自然地分裂。
两组“重叠”的唯一地方是几个报告,从“图片”和“销售数据”中提取数据。这两种情况下的信息类似于一组散列,具有不同的深度,指向微积分(每个系统大约60个数字)。
这几乎是举行分裂的唯一因素;我不确定在两个应用程序之间共享信息的最佳方式是什么。
我很欣赏任何指向实现这一目标的最佳方法。我应该尝试为两个应用程序使用相同的数据库吗?我应该使用某种Web服务吗?
答案 0 :(得分:4)
简单的解决方案是让两个应用程序使用相同的数据库。这样做的问题是你会在重叠的模型上得到一些代码重复。您当然可以使用git子模块或自定义gem来修复它...有趣的是,这将是rails引擎。
另一种解决方案是1个应用程序拥有数据并公开RESTful API,而另一个应用程序从中获取。但是,你需要决定哪一个“管理”报告。
这是一个相当复杂的决定,如果没有所有数据,我无法帮助你做到这一点,但我希望这对你有所帮助^^
答案 1 :(得分:0)
此外,复制代码会产生缓存问题,并发问题。