Viewは (モデルの)コレクションを保持する必要がありますか、それともModelを保持する必要がありますか?
標準的なアプローチは何ですか?これは一般的な質問です。特定のアプリケーション例はありませんが、状況によるというのが答えでしょうか?
これまでの少量の作業では、モデルがコレクションを保持しています。マリオネットとそのビューについて読んだだけで、ドキュメントは、マリオネットがビューにコレクションがあると仮定していることを示唆しているようです。
考え?
コレクションがそのモデルのプロパティであるか、そのモデルとの関係に関与している場合を除き、モデルはコレクションを保持するべきではありません。あなたの質問では、コレクションと言うとき、実際にはあなたが話しているモデルのコレクションを意味していると思います.
私がお勧めするアプローチは、個々のモデルをレンダリングするビューを定義してから、コレクションを格納し、そのコレクション内の各モデルの個々のビューをレンダリングする外側のビューを定義することです。
編集: 明確にするために、囲むと言うときは、DOM レベルを意味しますが、定義内では意味しません。
つまり、必要なときにいつでもコレクション全体を簡単にレンダリングできますが、コレクション内の個々のモデルを追加または変更して、そのモデルの個々のビューをレンダリングするだけで済みます。
適切な場合、ビューがモデルのコレクションを保持することは私には理にかなっています。たとえば、histogramView は、独自のモデル dataPoint を持つデータ ポイントのコレクションを保持する場合があります。次に、histogramView はそのコレクションにアクセスし、そこからすべてを一度にレンダリングできます。
もちろん、ビューが 1 つのモデルのみを所有する必要がある場合は、それも受け入れられます。ユーザー プロファイル ビューの場合、ビューに userInformationModel を所有させたい場合があります。