我正在使用构建Web应用程序的OOP MVC模式。对于我当前的项目,我必须将来自外部API的数据紧密集成到我的后端(节点)中。这是我第一次这样做。
我的应用程序发送,接收和轮询来自此API服务的数据。
目前我有:
某些用户操作包括对此API的调用。目前我的控制器正在直接调用API处理程序,一切都感觉有点混乱和相互依赖。我想以最小化数据同步问题的方式构建它。是否有任何标准化或良好的模式将这种外部API集成添加到ruby-on-rails样式的MVC模式中?
答案 0 :(得分:1)
虽然我对节点只有轻微的经验,但我将把它作为一种通用的做法。
我必须将来自外部API的数据紧密集成到我的后端 (节点)。
我不知道具体细节,但这通常是一个坏主意。
您的应用程序应该依赖于它自己的数据模型,控制器和视图。如果您将应用程序与外部模型深度集成,那么您将成为对应用程序进行外部控制的人质。
为了最大化解耦,我会做这样的事情:
|Your App| <-> |Proxy App| <-> |External API|
|您的应用
包含模型视图和控制器,常规内容。 如果你需要外部api的东西,你应该要求 | Proxy App | 发送,接收和汇集数据。 |你的应用程序| 不应该改变,除非有真正的共鸣。
|代理应用程序|
它将向 |外部API | 发出请求并从中检索数据。 如果 |外部API | 发生更改,则只会更改此 |代理应用程序| 。
所以,记住这一点你应该:
|您的应用
|代理应用程序|
某些用户操作包括对此API的调用。
在这种情况下, |您的应用程序| 会向 | Proxy App | 发出请求,谁将处理该请求并处理响应。
希望这能为您提供所需的洞察力。