「ASP.NET MVC/アクション」を編集中
ナビゲーションに移動
検索に移動
この編集を取り消せます。 下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。
最新版 | 編集中の文章 | ||
1行目: | 1行目: | ||
− | [[ASP.NET MVC]]の'''アクション''' | + | [[ASP.NET MVC]]の'''アクション'''とは、フロントコントローラーから呼び出されるコントローラークラスのメソッドのことである。コントローラーのうち、プログラマーが記述する部分を指す。 |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== フォルダー構成 == | == フォルダー構成 == | ||
− | + | ASP.NET MVCでは「Controllers」ディレクトリ以下にコントローラークラスを格納することになっている。 | |
− | |||
− | |||
− | |||
− | |||
== MVC == | == MVC == | ||
− | + | MVCの原則に従えば、コントローラーはモデルとビューを繋ぐのが主目的なので、コントローラーアクションにはモデルからデータを取得し、適切なビューに橋渡しする処理のみを書く。たとえばPCとスマートフォンでビューを切り替えるなどのビジネスロジックでもHTMLの生成でもない連結器としての機能を書いておく。 | |
− | + | ここにビジネスロジックを書いてはいけない。書けないわけではなく、「書くな」という決まり事であり、書けるし、書いた方が手っ取り早いが、サイトが肥大化したときにスパゲッティになるよねということらしい。 | |
=== 悪い例 === | === 悪い例 === | ||
− | + | コントローラークラスのアクション(Indexメソッド)内にビジネスロジックを記述してある。 | |
<source lang="csharp"> | <source lang="csharp"> | ||
// Controllers/HomeController.cs | // Controllers/HomeController.cs | ||
41行目: | 22行目: | ||
} | } | ||
</source> | </source> | ||
− | |||
=== 良い例 === | === 良い例 === | ||
モデルでデータを管理する。 | モデルでデータを管理する。 | ||
68行目: | 48行目: | ||
== 関連項目 == | == 関連項目 == | ||
− | |||
* [[ASP.NET MVC]] | * [[ASP.NET MVC]] | ||