現在、いくつかの異なるページを持つアプリケーションを設計しており、各ページには AJAX を介して更新されるコンポーネントがあります。レイアウトは、「ホーム」、「発見」、および「接続」が別々のページである新しい Twitter デザインに似ていますが、ページ内での対話 (「フォロワー」または「フォロー中」のクリックなど) は AJAX を使用します。
設計にはいくつかのコンポーネント (Twitter のコンテキストでは、ツイート、フォロワー、フォロー) を含む最初のページの読み込みが必要であり、それぞれが AJAX を介して個別に更新できるため、ページを提供するためのデフォルトのコントローラーを用意するのが最善であると考えました。 、および完全なページを提供するのではなく、データベースのクエリを厳密に処理して JSON オブジェクトを返すアクションを備えたその他のコントローラー。このようにして、最初のページの読み込み時に複数の HMVC リクエストを実行して各コンポーネントのデータを収集できます。また、AJAX 呼び出しを実行して各コンポーネントを個別に更新することもできます。
私の考えは、ページの提供を処理する Controller_Default を持つことです。Twitter のコンテキストでは、Controller_Default には以下が含まれます。
action_home()
action_connect()
action_discover()
次に、ページ全体を処理するのではなく、ページのコンポーネントを処理する他のコントローラーを用意します。たとえば、Twitter のコンテキストでは、 Controller_Tweet には次のものが含まれる場合があります。
action_get()
特定のユーザーのツイートを含む JSON オブジェクトを返します。その後、Action_home() は、ページのいくつかの異なるコンポーネントのデータを取得するために、いくつかの HMVC 要求を行うことができます (つまり、'tweet/get'、'followers/get'、'following/get' への要求を行います)。ただし、ページ上で、コンテンツを更新するために機能固有のコントローラー (つまり、「つぶやき/取得」) に対して AJAX 呼び出しを行うことができます。
私の質問: これは良いデザインですか? デフォルトのコントローラーを介してページを提供し、他の機能固有のコントローラーを介して (JSON 形式で) ページ コンポーネントを提供することは理にかなっていますか?
質問に関して混乱がある場合は、お気軽に質問してください。