3層データバインドを正しく活用しよう(前編)
実例で学ぶASP.NET Webフォーム業務アプリケーション開発のポイント 第1回
ダウンロード サンプルファイル (5.6 MB)
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層データバインドの活用方法を解説します。
この記事は参考になりましたか?
- 実例で学ぶASP.NET Webフォーム業務アプリケーション開発のポイント連載記事一覧
- この記事の著者
-
山田 祥寛(ヤマダ ヨシヒロ)
静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるLaravel実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
-
WINGSプロジェクト 高野 将(タカノ ショウ)
<個人紹介>新潟県長岡市在住の在宅リモートワークプログラマー。家事や育児、仕事の合間に長岡IT開発者勉強会(NDS)、Niigata.NET、TDDBCなどのコミュニティに関わったり、Web記事や書籍などの執筆を行ったりしている。著書に『アプリを作ろう! Visual C#入門 Visual C# 2017対応』(日経BP社、2017)など。< WINGSプロジェクト について>有限会社 WINGSプロジェクト が運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。 2026年時点での 登録メンバ は約50名で、現在も執筆メンバを 募集中 。興味のある方は、どしどし応募頂きたい。 著書 、 記事 多数。 RSS X: @WingsPro_info (公式)、 @WingsPro_info/wings (メンバーリスト) Facebook
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア
