1

わかりました...すべてのアップロード、ダウンロード、および行われたリクエストをリストする必要があります。しかし、ユーザー固有のすべてのアップロード、ダウンロード、およびリクエストを一覧表示する必要もあります。論理的にするために、これらのアクションをどこに配置すればよいかわかりません。アクションはデータをjsonとして返しています。

  • POST: Index(file)ユーザーが で呼び出すと、アップロードが追加されますUploadsController
  • GET: Files(fileName)ユーザーが で を呼び出すと、ダウンロードが追加されますUploadsController
  • ActionResultでマークされたものをユーザーが呼び出すと、リクエストが追加されますLogAttribute

私のコントローラはどのように見えますか:

ユーザーコントローラー

  • GET: リスト
  • GET: 作成する
  • POST: 作成 (viewModel)
  • POST: 削除(ユーザーID)
  • GET: サインイン
  • POST: サインイン(ユーザー名、パスワード)
  • 投稿: サインアウト

UploadsController

  • GET: インデックス
  • POST: インデックス(ファイル)
  • GET: ファイル(ファイル名)

アプローチ 1:

2 つの新しいコントローラーを作成DownloadsControllerし、RequestsController. これらのコントローラーの両方でUploadsController、次のアクションを作成します。

  • GET: リストすべて
  • GET: ListFor(ユーザーID)

アプローチ 2:

StatsController次のアクションを持つ新しいコントローラーを作成します。

  • GET: ListAllUploads
  • GET: ListUploadsFor(ユーザーID)
  • GET: ListAllDownloads
  • GET: ListUploadsFor(ユーザーID)
  • GET: ListAllRequests
  • GET: ListRequestsFor(ユーザーID)

前述したように、これら 2 つのアプローチのどちらが適切かはわかりません。誰かが「最高」になる光を当てることができますか?

4

1 に答える 1

0

コントローラーは、機能的に関連するアクション メソッドをグループ化する必要があります。少なくとも、これは私の見解です。独自の処理を行う無関係なメソッドを含む数千行のクラスがあるでしょうか? そうでない場合は、コントローラーが違うとは思わないでください。結局のところ、メソッドを持つクラスです。私はおそらくどちらかのアプローチを選ぶでしょう - どちらも私には似合います. それはあなたが好むものに依存します。もっと細かくして、UploadsController と DownloadsController および RequestsController を用意することもできます。これらのコントローラー名は、ビューを一意のフォルダーに分離するのに役立ちます。これは、他の開発者にとってもより人間に優しいものです。

于 2013-07-17T21:49:37.037 に答える