この特集のトップページへ
>
Chapter 6:ビジネスロジックの設計
6.1.2 データオブジェクト
だからといって,Fig.6-1に示した各ビジネスロジックから複数のデータベーステーブルに直接アクセスするように実装するわけでもない。通常,プレゼンテーション層から呼び出されるビジネスロジック層と,データベース層とのあいだには,データベースを操作する専用のロジックを配置し,それを経由してデータベースにアクセスするように実装する。このようなオブジェクトのことを「データオブジェクト(データコンポーネント)」と呼ぶ。
ビジネスコンポーネントから直接データベースにアクセスするのではなく,あいだにデータベースオブジェクトを置いておけば,データベースに対する操作を1つにまとめることができ,複数のCOMコンポーネントに同じようなデータベース処理をそれぞれ実装する必要はなくなる。しかも,将来的にデータベース層のデータベースエンジンがほかのものに置き換わったとしても,データオブジェクトを修正するだけですむ(Fig.6-2)。
Fig.6-2 データオブジェクト
本節で作成するビジネスロジックには,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 | 履歴テーブルを読み書きするコンポーネント |
Chapter 6 2/92 |