ASP.NET MVCはじめました~悩める初心者の入門編
概要
以下の書籍を読んでASP.NET Web Formsだけではダメだと思い知りASP.NET MVCを始めることにしました*1。
.NET開発テクノロジ入門 2014年版 VisualStudio2013対応版 (MSDNプログラミングシリーズ)
- 作者: 酒井達明,山田祥寛,小高太郎,中原幹雄,芝村達郎,和田健司,日本マイクロソフト株式会社エバンジェリストチーム
- 出版社/メーカー: 日経BP社
- 発売日: 2014/06/04
- メディア: 単行本
- この商品を含むブログ (1件) を見る
本当はMVC5がよかったけど、職場の環境に合わせてMVC2です。
まずは基本的なMVCというデザインパターンの理解ができればいいかなと。いずれRoRで開発とかしてみたい。
環境
- Visual Studio 2010
- ASP.NET MVC 2
- SQL Server 2008 R2
- Entity Framework 4.0
チュートリアル
まず何からやったらいいのかわからなかったのでこちらから写経してみました。
Getting Started with ASP.NET MVC 5 | The ASP.NET Site
MVC5のチュートリアルなのでいろいろ違う!
Razor構文すてきやん!せめてMVC3にすべきか。
そして一通り書いてみて見えてきたぞ、MVC。
Model ⇒ Viewに渡すコンテナクラスのようなもの?
View ⇒ 見た目
Controller ⇒ ビジネスロジックとかメインの処理はここに書くのか?
そしてあらためてMVCを調べてみると全然違った!
model: アプリケーションデータ、ビジネスルール、ロジック、関数
view: グラフや図などの任意の情報表現
controller: 入力を受け取りmodelとviewへの命令に変換する
ビジネスロジックはモデルに書くのか。
Entity Frameworkがいろいろやってくれるから、これ含めModelということなのかな?ControllerからEntity Framework経由でデータを処理するのはビジネスロジックではないということか。
//チュートリアルより編集処理のアクションメソッド [HttpPost] [ValidateAntiForgeryToken] public ActionResult Edit([Bind(Include="ID,Title,ReleaseDate,Genre,Price")] Movie movie) { if (ModelState.IsValid) { db.Entry(movie).State = EntityState.Modified; db.SaveChanges(); return RedirectToAction("Index"); } return View(movie); }
チュートリアルではこの辺の書きっぷりがよく理解できませんでした。
現実はもっと複雑なはずですよね?
実際の開発レベルでどこに何を書くか、正解が知りたいです。
ということで、ASP.NET MVCはじめの一歩。