1

私は、に従っています。が有名人によって提案されました。Robert C. Martin時間が経つにつれてサーバ上のデータが変化するリポジトリパターン

リポジトリパターン修正について

enter image description here しかし、今の私の懸念を:クリーンアーキテクチャの鳥の目のビューは次のようにのように見えます。リポジトリパターンの手順の基礎は、以下のとおりです。

  1. 検索メモリ内キャッシュとは、アプリケーション層にデータを提供する
  2. 見つからない場合は、メモリ内のキャッシュにローカル・データ・ソースとの同期を検索し、アプリ層にデータを提供
  3. 見つからない場合は、厳密に上記の手順に従うローカル・データ・ソースへのリモート・データ・ソースとの同期を検索し、アプリ層

にデータを提供し、ローカルデータソースにデータが存在する場合、リモートデータソースから同期されることはありませんが、リモートでデータが変更される可能性があります。このケースを処理できるように変更するにはどうすればよいですか? 1つのアイデアが私の頭の中に書かれていますが、私は実際にはもっと良い解決策を探しています。

私の考えは、ローカルデータベースの各レコードの最終同期時刻を記録することです。最後の同期時間がしきい値時間を超えている場合は、自動的に同期します。

+0

あなたは代わりに、リモート・データ・ソースの通知を購読すると、いつでもお近くのストアを更新でき変化が起こる。 – MaxSC

+0

@ MaxSC特定のデータセットのリモートデータソース変更のサブスクリプションを実装する方法は?私のリモートサーバーはノードjs上に構築されています。 –

+0

[firebase cloud messaging](https://firebase.google.com/docs/cloud-messaging/)を見て、npmパッケージがたくさんあるようです。[ここ](https:///www.npmjs.com/package/fcm-node)と[ここ](https://www.npmjs.com/package/fcm)と[ここ](https://www.npmjs.com/package/fcm) - プッシュ)....しかし、私はそれらのいずれかを使用したことはありません:) – MaxSC

答えて

0

あなたの考えは、我々はRxJavaの助けを借りて使用しているものに準拠している:たぶん、あなたはあなたのリポジトリの責任から数3を飛ばしてください Dan Lew nicely explained at

関連する問題