2010-12-19 7 views
0

.net 2.0 Windowsアプリケーションで作業しています。 データアクセス層[DAL]は、格納されているprocsを実行し、ビジネス層[BL]にdatareader/datasetを返します。DAL/BLデザインに関する質問

DAL dllを参照し、datareader/datasetを反復し、列の値を読み取り、ビジネスオブジェクトを作成してUIレイヤに返します。

ここで、ビジネス層がデータベーステーブルの列を参照していますか?

これはレイヤーデザインの良い練習ですか?

dataset/datareaderの代わりにDALからビジネスオブジェクトを返すと、私のDALプロジェクトもBL dllを参照する必要があります。ここで循環参照はありませんか?おかげさまで

+0

[データアクセスライブラリの返されるデータセットまたはオブジェクト]の複製(http://stackoverflow.com/questions/398680/data-access-library-return-dataset-or-object) – jgauffin

答えて

3

ではありません。データレイヤーが実装の詳細を公開しているため、情報の隠蔽とカプセル化が失われています。

データをモデル化するオブジェクトを渡す必要があります。

たとえば、orderデータ行の代わりにOrderオブジェクトを渡す必要があります。