4

私は現在MVCアプリケーションを構築しています(特にASP.NETですが、これはより広い質問でもあると思います)。いくつかの異なるコンテキストでこれが SO で尋ねられたのを見てきましたが、それらの議論から自分の状況を明確にすることができませんでした。次のようなコントローラーがあります。

  • ホームコントローラー
  • アカウントコントローラー
  • EventController (お客様にはイベントがあります)
  • MenuController (サイト ナビゲーション)
  • ReportController

また、コントローラであまり明確に管理されていないアイテムもいくつかあります。ここで質問します。サインアップ後、顧客は、ビジネス情報、支払いカード、銀行など、「プロファイル」のさまざまな側面に記入する必要があります。アカウント、マネージャーの連絡先 (名前/電話)。

現在、次のようなポスト/取得機能を備えた「ProfileController」を作成しました。

    [HttpGet]
    public ActionResult Business()

    [HttpPost]
    public ActionResult Business(...)

また、銀行口座情報、支払いカード、管理者などについても同様のものを用意する予定です。

これは間違っていると感じます。これはすべて AccountController に移動する必要がありますか? これらのアイテムは、実際には独自のコントローラーに値しないスローインですか、それともこれらのコンポーネントのそれぞれに独自のコントローラーが必要ですか?

4

1 に答える 1

4

MVCアプリケーションの開発は、RESTアプリケーションの開発の一種であり、MVCアプリケーションの開発にRESTの原則を適用できます。まず、リソースの観点から考える必要があります。RESTによると、リソースはURLを介してアクセスできるエンティティです。

上で話している各モデルがリソースであり、ユーザーが個別のURLを介してそれにアクセスできると感じた場合は、先に進んで、それぞれに個別のコントローラーを作成できます。単一のAccountControllerで問題ありません。

リソースとURLをスケッチすると、アプリケーションで作成する必要のあるコントローラーの数を簡単に特定できます。

于 2012-05-11T17:22:23.373 に答える