2017-08-07 10 views
0

私はWebアプリケーションを構築するためのOOP MVCパターンを使っています。私の現在のプロジェクトでは、外部APIからバックエンド(ノード)にデータを緊密に統合する必要があります。私がこれをやったのは初めてです。WebサーバーOOP構造 - 外部API統合?

私のアプリケーションは、このAPIサービスからのデータの送信、受信、およびポーリングを行います。

  • API呼び出しをカプセル化するオブジェクト:私が持っている瞬間

  • APIをポーリングし、私のアプリケーションのデータベースを更新するオブジェクト。
  • 私のモデルやAPIのデータと話したいmvcコントローラ。

一部のユーザー操作には、このAPIへの呼び出しが含まれます。現時点では、私のコントローラはAPIハンドラを直接呼び出しており、すべてがちょっと混乱し、相互依存しているように感じます。データの同期化の問題を最小限に抑える方法で構造化したいと思います。 Ruby-on-railsスタイルのMVCパターンにこの種の外部API統合を追加する標準化されたパターンや良いパターンはありますか?

答えて

1

私はノードでわずかな経験がありますが、私はこれを一般的なやり方でアプローチするつもりです。しっかりと私が持っている

私のバックエンド (ノード)に外部APIからデータをintergrate。

私は詳細は分かりませんが、それは一般的には悪い考えです。

アプリケーションは、独自のデータモデル、コントローラ、およびビューに依存する必要があります。アプリケーションを外部モデルと深く統合すると、その外部APIの人質になってアプリケーションを制御できなくなります。

私はこのような何かだろうデカップリングを最大にするために

|Your App| <-> |Proxy App| <-> |External API| 

を| iPhoneアプリ|

通常のものとモデルビューとコントローラが含まれています。 外部APIから何かが必要な場合は、|プロキシアプリケーション|は、データの送信、受信、およびプールを行います。 |アプリ|は本当の共振がなければ変更しないでください。

|プロキシアプリケーション|

|外部API |とそれからデータを取得します。 |外部API |変更、これだけ|プロキシアプリケーション|が変更されます。だから、

、あなたが持っている必要があり、この点に注意して持つ:

を| iPhoneアプリ|

  • 私のモデルと話したいコントローラ。
  • コントローラは、外部apiデータが必要なときにプロキシアプリケーションに要求を行います。

|プロキシアプリケーション|

  • は、API呼び出しをカプセル化します。
  • はAPIをポーリングし、アプリケーションのデータベースを更新します。

一部のユーザー操作には、このAPIの呼び出しが含まれます。

この場合|お客様のアプリケーション|は、へのリクエストを行います|プロキシアプリケーション|とその要求を処理し、応答を処理するユーザー。

希望すれば、必要な情報を得ることができます。

関連する問題