私は、MVC パターンをできる限り尊重するよう努めています。これにより、開発者 (または開発者) の生活が大幅に簡素化されます。私が疑問に思っているのは、一度に複数のセクションをロードする方法です。
わかりやすくするために、to-do リストの例を取り上げます (最近よく使われています)。プロジェクト -> マイルストーン -> タスクがあるとしましょう。
私たちの必要なもの:
- それらをすべて取得 - ネストされた json エンコード配列内のすべてのタスクを含むすべてのマイルストーンを含むすべてのプロジェクト。
- プロジェクトのみを取得する
- マイルストーンのみを取得する
- タスクのみを取得する
最後の 3 つについては、対応するデータを提供する個別のコントローラーを使用できます。ネストされた json でエンコードされた配列で「それらをすべて取得」しようとすると、問題が発生します。
おそらくそれを処理する最良の方法は何ですか?
私はいくつかの可能性を考えました:
- プロジェクト、マイルストーン、およびタスク ジェネレーターをヘルパー クラスに移動します。これは、個々のコントローラーからそれらを呼び出し、それらすべてを取得する必要があるときにも呼び出すことを意味します。
- プロジェクトのビューから、 (各プロジェクトの) マイルストーンのコントローラー/ビュー [次に、(各マイルストーンの) タスクのコントローラー/ビューを呼び出す]。これは、1 つの 3 つのリクエストのシミュレーションのように見えるかもしれません。
動機は、すべてのプロジェクトをフェッチし、次に各プロジェクトのマイルストーン、そして各マイルストーンのタスクをフェッチできたものの、多くのリクエストが必要になるという事実から来ています。すべての呼び出しを 1 回で取得できれば、データを取得するのにかかる時間が大幅に短縮されます。1 回の要求でデータがより整理されることは言うまでもありません。