Visual Studio .NETのウィザードを使ってN階層アプリケーションを作成する:パート3
Visual Studio 2005でビジネスロジック層を効率扱う方法
本シリーズのパート1とパート2では、Visual StudioのRADツールを使って3層アプリケーションを作成する方法について説明しました。パート3では、アプリケーションの機能を強化するためにビジネスロジック層でどのようなことができるかをより詳しく見ていきます。
パート3 - ビジネス層の作成
本シリーズのパート1とパート2では、オブジェクト指向プログラミングに重点を置いて、Visual StudioのRAD(Rapid Application Development)ツールを使って3層アプリケーションを作成する方法について説明しました。個々のビジネスプロジェクト内に型指定されたデータセット(Typed DataSet)オブジェクトを作成し、プレゼンテーション層内にオブジェクトデータソースツールを作成することによって、アプリケーションの各部を別々の層に分離し、個別にコンパイルできるようにします。このようにして分離したコンポーネントは、必要に応じて異なるサーバーに配置することも可能です。
ドメインモデルアーキテクチャ
アーキテクチャモデルにはさまざまな種類がありますが、Microsoft Visual Studioが推奨する方法論に適しているのは、リレーショナルアーキテクチャと真のオブジェクト指向アーキテクチャの中間に位置するアーキテクチャです。このアーキテクチャは、Jimmy Nilssonをはじめとする著名な設計者によって推進されており、「ドメインモデルアーキテクチャ」と呼ばれています。このモデルでは、ドメイン層をビジネス層の奥深くに隠すのではなく、さまざまな別の階層からアクセス可能な位置まで引き上げます。図1に、このモデルとVisual Studio 2005がどのように対応しているかを示します。
このモデルでは、型指定されたデータセット(Typed DataSet)をドメイン層として使用します。型指定されたデータセットは、ほぼ純粋なオブジェクト指向方式のデータアクセスを行うことを目的として、データセット(DataSet)オブジェクトを一連のクラス、メソッド、およびプロパティでラップしたものであり、Intellisenseに対応しています。Visual Studio 2005では、これらのクラスは、パーシャルクラス内のデータセットの自動生成されたデザイナサブファイルに格納されます。もう1つのパーシャルクラスは、開発者がカスタマイズできるサブファイルの中で提供されます。これは、データに影響を及ぼすビジネスロジックを実装するのに適した場所です。
自動生成されたデザイナサブファイルでは、データベース内のデータの取得/更新に必要なすべてのADOコードを提供するデータアクセスロジックが別の名前空間に実装されています。この自動生成されたクラスはテーブルアダプタ(Table Adapter)と呼ばれます。これは、厳密に型指定されたプロパティとメソッドによってラップされたデータアダプタです。これらのクラスは自動生成されますが、テーブルアダプタのパーシャルクラスにコードを追加すれば拡張できます。
最初に生成した時点で、データセットはデータベースの構造またはスキーマを非常に密接にミラー化しています。データセットがデータベースに連動し過ぎると不満を述べる設計者もいますが、実際には、メタデータが表現されているだけです。必要であれば、すべてのテーブルとフィールドを、実際のエンティティと列をよりよく表すような名前に変更することも可能です。ただし、データベースが適切に設計されていれば、通常、このような操作は不要です。
この記事は参考になりましたか?
- japan.internet.com翻訳記事連載記事一覧
- この記事の著者
-
japan.internet.com(ジャパンインターネットコム)
japan.internet.com は、1999年9月にオープンした、日本初のネットビジネス専門ニュースサイト。月間2億以上のページビューを誇る米国 Jupitermedia Corporation (Nasdaq: JUPM) のニュースサイト internet.com や EarthWeb.com からの最新記事を日本語に翻訳して掲載するとともに、日本独自のネットビジネス関連記事やレポートを配信。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
-
David Catherman(David Catherman)
CMI Solutions所属。データベースアプリケーションのデザイン/開発に20年以上の経験を持ち、ここ4、5年は特にMicrosoft .NETとSQL Serverに仕事が集中している。現在はCMI Solutionsのアプリケーション設計者および上級開発者であり、Visual Studioと...
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア

