我有一个中等大小的应用程序,开始变得太复杂了。我在考虑把它一分为二。但我不确定如何在这些人之间共享信息。
我已经能够创建两大组模型;一组处理“图片”,另一组处理“销售数据”。
我想,一些实用模型,比如与身份验证/授权相关的模型,将不得不复制。但让我们把注意力集中在两个大组上。
这两个数据集由不同的人维护,因此它们会很自然地分开。
这两个组唯一“重叠”的地方是两个报告,从“图片”和“销售数据”中提取数据。这两种情况下的信息都类似于一个哈希数组,具有不同的深度,指向微积分(每个系统大约60个数字)。
这几乎是保持这种分裂的唯一因素;我不确定在两个应用程序之间共享信息的最佳方式是什么。
我将非常感谢任何关于实现这一目标的最佳方法的建议。我是否应该尝试为两个应用程序使用相同的数据库?我应该使用某种web服务来代替吗?
发布于 2010-06-23 23:50:22
简单的解决方案是让两个应用程序使用相同的数据库。这样做的问题是,你会在重叠的模型上得到一些重复的代码。当然,您可以使用git子模块或自定义gem来修复它。关于这一点,值得关注的一个有趣问题是rails引擎。
一种不同的解决方案是,一个应用程序拥有数据并公开一个RESTful应用程序接口,另一个应用程序从该应用程序中提取数据。但是,您需要决定由哪一个人来“管理”报告。
这是一个相当复杂的决定,如果没有所有数据,我无法帮助您做出决定,但我希望这对您有所帮助^^
发布于 2011-02-04 04:22:07
此外,复制代码会产生缓存问题、并发问题。
https://stackoverflow.com/questions/3103205
复制相似问题