2012-04-15 16 views
1

リポジトリパターンを使用してn層アーキテクチャを作成したいと考えています。私は、BLLレイヤーを介してすべての呼び出しを複製し、BLL経由でデータにアクセスするのは理にかなっていますか?あるいは、私はDALを通じていくつかのものにアクセスし、BLLを通じていくつかのものに直接アクセスすることはできますか?BLLを使用してもDALにアクセスする必要がありますか?

+0

私は個人的に私のblalを通して私のdalにアクセスし、コールを複製します。あなたはビジネスロジックを追加する必要があるかもしれませんが、bllに新しい呼び出しを追加するのではなく、bllの呼び出しを変更する方がずっと簡単です。 –

+0

"データのみの呼び出し"はどのように定義しますか?なぜあなたはBLの "複製を呼び出す"と感じていますか?どのような技術をプログラミングしていますか(Winforms、Webforms、MVC ...?) –

答えて

1

IMOのために複製するのは意味がありません。
(本当にすべてのアプローチは、その長所と短所を持っているのに、何もそれ自体が常に間違っているか、良いではありません)

通常例えばとデータ層のお得な情報テーブルに一致する(簡体字)ビット「造粒する」データかかわらず、正確になど

あなたのビジネスレイヤはそれを組み合わせることができますが、「論理」と論理モデル(データモデルとデータ)を中心にしています。

あなたが自分のビーズ層にDALの正確なレプリカを持っていることが分かった場合は、ポイントソートが欠けている可能性が最も高いです。いくつかのことは、再編成、捨てる、または単純化する必要があるかもしれません。

あなたに次のように尋ねてください。 DALを別の種類のストレージ(データ/ DALの動作方法を変更する必要があるものや組織の異なる構成)で作業する - BLLはどのように見えますか?同じ?あなたのビジネス層は「データに従う」べきではありません。それは独自のルールを持っているべきです。データはデータに関するものでなければなりません。

あなたがシステムをどのように設計するかは、ビジネス層をうまく活用すれば(比較的単純でないか、まったく異なるアーキテクチャを決定するなどしない限り)そうでなければ、複製する必要はありません。

これが役に立ちます。

関連する問題