3層データバインドを正しく活用しよう(前編)

CodeZine / 2012年2月16日 14時0分

図3:サンプルのイメージ

 ASP.NET Webフォームアプリケーションを用いて業務アプリケーションを作成する際、何も考えずに進めていくと保守がしにくかったり、開発効率が思うように上がらないといったことがありがちです。本連載ではツールやフレームワークの機能を最大限利用しつつ、保守、開発効率を意識したWebフォームアプリケーションを開発する方法を学んでいきます。

■はじめに

 ASP.NETが2002年に初めて登場してから、まもなく10年になります。その間も、ASP.NETは絶え間なく進化を続けてきました。結果、ASP.NET 4まで進んだ現在では、初期のころに比べると格段に複雑さが増しています。

 本連載では、そんなASP.NET 4のWebフォームを用いて、会議室予約システムを開発していきます。サンプルを作成する過程を通じて、業務アプリケーションを作成する際に、それぞれの局面でどのような機能を利用すればよいか理解していただければと思います。

■対象読者

ASP.NET Webフォームアプリケーション開発初級者(簡単なアプリケーションであれば一通り作成できる程度) 業務アプリケーションの開発に携わる開発者 ■なぜASP.NET Webフォームアプリケーションなのか

 まずは「なぜWebフォームで業務アプリケーションを作るか」について説明します。

 ASP.NETで作成できるアプリケーションには今回取り扱うWebフォームの他に、MVC(Model-View-Controller)モデルで開発する、ASP.NET MVCもあります。それぞれの特徴をまとめると次のようになります。

●ASP.NET Webフォーム

サーバーコントロールを用いたイベント駆動型 生成されるHTMLはサーバーコントロールによって組み立てられる ●ASP.NET MVC

MVCモデル 生成されるHTMLは自分で組み立てる  ASP.NET Webフォームは、その特徴から「少ないコードを元に自動生成を行う」ことで開発効率を向上できます。この特性は、業務アプリケーションのようにある程度決まったパターンで各種機能を作成できる場合、最大の威力を発揮します。業務アプリケーションでよくある「一覧表示」「ページング」「明細表示」「編集」といったパターンは、全て専用のサーバーコントロールが用意されているので、ほとんどUI(User Interface)のコードを書かずに作成することも可能です。

 しかし、Webフォームアプリケーションにも弱点があります。作成するアプリケーションを「型」にはめることで効率化を図っているため、その型から外れた動作や見た目を求めると途端に難易度が上がる点です。

 その例の一つが、きれいなHTMLの作成です。Webフォームでは背後で大量のHTMLが生成されるため、開発者が意図したとおりに出力されるとは限りません。このため、UIデザインをデザイナーに行ってもらったとしても、その結果をそのまま使うことが難しいのです。こういったケースではASP.NET WebフォームではなくASP.NET MVCを採用し、自分でHTMLを組み立てるやり方をとった方がよいでしょう。

 この連載では、ASP.NET Webフォームの利点を生かしつつ、開発効率性や保守性を意識した業務アプリケーションの作成方法を、引っ掛かりやすいポイントと合わせて紹介していきます。

■本連載で作成するアプリケーション

 業務アプリケーションの例として、以下のような「会議室予約システム」をサンプルに取り上げます。

システム名はMRRS(Meeting-Room Reservation System) 対象会議室、空き時間を調べ、会議室の予約を行える 会議室は場所情報も持つ 予約情報は、予約日時(From-To)、会議室、用途、備考を持つ ■必要な環境

 サンプルアプリケーションは、以下の環境で作成することを前提としています。

Visual Web Developer 2010 SP1(以下VWD) C# IIS Express 7.5 SQLCE(SQL Server Compact) 4.0 EF(Entity Framework) 4.3  IIS Express 7.5とSQLCE 4.0については、Web Platform Installerなどで事前にインストールしておいてください。

 EF 4.3は後ほどNuGetを使ってインストールしますので、事前にインストールする必要はありません。なお、今回はEFのバージョンは4.1以降であればどのバージョンでも大丈夫です。

 それでは、いよいよポイント解説に入っていきましょう。第1回目の今回は、3層データバインドの活用方法を解説します。



■関連記事
3層データバインドを正しく活用しよう(前編)
ASP.NET MVC 3におけるDI実装のポイント
Visual StudioのCSSエディタ機能の改善(ASP.NET 4.5シリーズ)
バンドルおよびミニファイ・サポートの追加(ASP.NET 4.5シリーズ)
Webフォームモデルバインディング パート2:データのフィルタリング (ASP.NET vNextシリーズ)

■記事全文へ

CodeZine

トピックスRSS

ランキング