バックグラウンドで時折更新される可能性のある大量のデータ セットがあります。独学の実験として、私はフレームワークに依存したくありません。現在、DDD/CQRS コンテキスト内で MVC/MVVC パターンを使用して適切な場所を見つけようとしています。
テーブルにデータを入力するために、大規模なデータ セットのクエリを実行し、結果を表示される行数の 2 倍に制限します。ユーザーがクエリの半分を超えてスクロールしたら、結果の次のバッチをクエリします。
ユーザーがスクロールすると、すべての結果が配列に読み込まれます。表示されていない行を破棄することなく、プログレッシブ ロードのみが行われます。
ドメイン オブジェクトに変換された結果の配列を作成するのは誰ですか? MVC のモデルまたはデータ リポジトリのモデルは?
理想的には、クエリ結果を制限することを常に気にせずに、MVC モデルを再利用したいと考えています。
バックグラウンドでデータが更新されると、システム イベントが作成されます。ただし、新しい行が作成された場合、クエリを破棄してテーブルをリロードするだけでなく、アプリケーションで新しい行のバックグラウンド挿入をアニメーション化する必要があります。そのような場合、バックグラウンド プロセスが現在のクエリのコピーをロードし、それを既存のクエリと比較する必要があると思います。新しい行の位置で「新しい行システム イベント」を作成する必要があります。
挿入ポイントと削除ポイントを計算するために、現在のクエリ結果を以前の結果と比較する必要があるコンポーネントはどれですか? システムサービス?MVC モデル?
私の最後の懸念は、データがバックグラウンドで更新されている場合、複数の制限されたクエリで一連の行をロードすると、一貫性がなくなる可能性があることです。この一貫性をどのように/どこで強制する必要がありますか?