『プログラミングASP.NET MVC 第3版』を読んだ

プログラミングMicrosoft ASP.NET MVC 第3版ASP.NET MVC 5 対応版 (マイクロソフト公式解説書)

ASP MVC 5の解説書。初歩的な解説も載っていますが、それ以上に「ASP MVCを使って良いアプリケーションを作るにはどうすればよいか」ということを詳しく書いてあります。

以下、目次

■第1部 ASP.NET MVCの基礎
第1章 ASP.NET MVCのコントローラー
第2章 ASP.NET MVCのビュー
第3章 モデルバインディングアーキテクチャ
第4章 入力フォーム
■第2部 ASP.MVCのソフトウェアデザイン
第5章 ASP.NET MVCアプリケーションの機能
第6章 アプリケーションのセキュリティ
第7章 ASP.NET MVCコントローラーの設計上の注意点
第8章 ASP.NET MVCのコントローラーのカスタマイズ
第9章 ASP.NET MVCでのテストとテスタビリティ
第10章 ASP.NET Web APIエグゼクティブガイド
■第3部 モバイルクライアント
第11章 効果的なJavaScript
第12章 モバイル対応のWebサイトの作成
第13章 マルチデバイスサイトの構築

500ページ長と大きめの本ですが、本書の中でも力を入れて読むべきなのは、第2部「ASP.MVCのソフトウェアデザイン」です。
特に、第7章「ASP.NET MVCコントローラーの設計上の注意点」には、さまざまな設計上のヒントが散りばめられています。

たとえば、MVCのControllerは、その名の通りの「Controller(さまざまなオブジェクトを統合して管理する責務)」ではなく、「Coordinator(さまざまなワーカーサービスの調整を行う責務)」として実装したほうが、シンプルに実装できる、といった指摘です。

もう1つ、個人的に気になったテクニックが、ビューモデルです。ビューモデルの概念は、WPFなどでは当たり前に用いられているようですが、WebのMVCの世界ではそれほど一般的ではありません。しかし、ビューモデルを使うことで、DBを操作するためのモデルクラスと、ビューに表示するデータを保持するだけのビューモデルクラスを分離することができます。このような分離は、単純なアプリケーションでは手間がかかるだけでメリットは薄いでしょうが、データベースのデータを画面上に表示するための整形処理等が必要な場合には、ビューモデルを活用することで、個々のクラスの実装を簡潔に保つことができます。

ASP MVCの入門者が最初に読む本としては適していませんが、2冊めに読む本としては良いと思います。

この本の著者(Dino Esposito氏)の本は良さそうだなと思ったので、以下の書籍も購入しました(ちょうど、Kidleで50%ポイント還元やってたので)。

.NETのエンタープライズアプリケーションアーキテクチャ第2版 .NETを例にしたアプリケーション設計原則

コメントを残す