この特集のトップページへ
Chapter 6:ビジネスロジックの設計

head2.gif 6.1.2 データオブジェクト
 だからといって,Fig.6-1に示した各ビジネスロジックから複数のデータベーステーブルに直接アクセスするように実装するわけでもない。通常,プレゼンテーション層から呼び出されるビジネスロジック層と,データベース層とのあいだには,データベースを操作する専用のロジックを配置し,それを経由してデータベースにアクセスするように実装する。このようなオブジェクトのことを「データオブジェクト(データコンポーネント)」と呼ぶ。

 ビジネスコンポーネントから直接データベースにアクセスするのではなく,あいだにデータベースオブジェクトを置いておけば,データベースに対する操作を1つにまとめることができ,複数のCOMコンポーネントに同じようなデータベース処理をそれぞれ実装する必要はなくなる。しかも,将来的にデータベース層のデータベースエンジンがほかのものに置き換わったとしても,データオブジェクトを修正するだけですむ(Fig.6-2)。

Fig.6-2 データオブジェクト
fig6_02

 本節で作成するビジネスロジックには,Table 6-2に示す8つのデータオブジェクトを導入する。

 なお,ここではデータベーステーブルの数だけデータオブジェクトを用意しているが,必ずしもそうする必要はない。場合によっては,いくつかのデータオブジェクトを1つにまとめたり,あるいは逆に複雑な処理をする場合には,階層化したデータオブジェクトを用意したりすることもある。

Table 6-2 用意するデータオブジェクト
COMコンポーネント用途
DataObj.Customer顧客情報テーブルを読み書きするコンポーネント
DataObj.Product製品情報テーブルを読み書きするコンポーネント
DataObj.Stock在庫情報テーブルを読み書きするコンポーネント
DataObj.Slip伝票情報テーブルを読み書きするコンポーネント
DataObj,SlipDetail明細情報テーブルを読み書きするコンポーネント
DataObj.SlipInformation伝票追加情報テーブルを読み書きするコンポーネント
DataObj.Bill請求書情報テーブルを読み書きするコンポーネント
DataObj.History履歴テーブルを読み書きするコンポーネント
prevpg.gif Chapter 6 2/92 nextpg.gif