1

バックボーンには、アプリケーションの構築方法に関する明確なパターンはありません。私は今、いくつかの困難を経験しています。次の図では、取得したいものを視覚的に簡略化して説明しています。

タスクのリストがあります。期日が同じタスクの後に期日を表示したい。日付も年代順に並べました。

私が取ることにした1つのアプローチは、次のとおりです。

  • 日付のコレクションと各日付のビュー
  • タスクのコレクションと各タスクのサブ ビュー (親ビューは日付ビュー)

あなたの見解では、これは問題の良いアプローチですか?

最新の状態に保つ際の潜在的な問題:

  • 日付を変更した場合、日付コンテナーを再配置して、それらが時系列になるようにします (すべての日付コレクションを再取得しますか? )
  • タスクの期日を変更した場合、タスクを正しい日付コンテナーに移動したい (ビューを削除して、すべてのタスク コレクションを再取得しますか? )
  • 別のユーザーがタスクを変更した場合、それを反映させたい (フェッチは適切なことですか? )

ここに画像の説明を入力

4

1 に答える 1

2

これは問題の良いアプローチですか?

はい!: CollectionView -> (n)ModelViews (必要なだけ深く)

日付を変更する場合は、日付コンテナーを再配置して、それらが時系列になるようにします (すべての日付コレクションを再取得しますか?)

常に変更をサーバーに送信する必要がありますが、何も再取得する必要はありません。データは既に手元にあり、再レンダリングするだけで済みます。この再レンダリングの最適化は、多くの詳細に依存します。

タスクの期日を変更する場合、タスクを正しい日付コンテナーに移動する必要があります (そのビューを削除して、すべてのタスク コレクションを再度フェッチしますか?)

繰り返しますが、データを要求する必要はありません。変更された Task を実際の DateContainer コレクションから削除し、新しい DateContainer のコレクションに追加するだけです。add/removeこのイベントに応答する DateContainers を作成します。

別のユーザーがタスクを変更した場合、それを反映させたい (フェッチは適切なことですか?)

さて、これは非常に開かれた質問です。あなたが言うように、X秒ごとにデータ全体を再取得できます。または、API に最適化されたリクエストを実装し、updated_elementsX 秒ごとにリクエストすることもできます。または、WebSockets の方法で行くこともできます。

于 2012-08-29T13:09:05.873 に答える