1

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

4

1 に答える 1

0

IMO ためだけに複製するのは意味がありません
(実際にはすべてのアプローチには長所と短所がありますが、それ自体が常に間違っているわけでも良いわけでもありません)

通常、データレイヤーは、たとえば(単純化された)テーブルと正確に一致する少し「粒状化された」データなどを扱います。

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

ビジネスレイヤーに DAL の正確なレプリカがあることに気付いた場合は、おそらくポイントのようなものを見逃している可能性があります。いくつかのことは、再編成、破棄、または単純化する必要がある場合があります。

または、たとえば、次のように自問してください-たとえば、DALを別のタイプのストレージ(さまざまな組織、またはデータ/ DALの動作方法を変更する必要があるもの)で動作するように置き換えたい場合-BLLはどのように見えますか? ? 同じ?ビジネス層は「データに従う」べきではありません。ドメインのロジック、何をしているかについて、独自のルールを持つ必要があります。データはデータに関するものであるべきですが。

したがって、要するに、問題は主にシステムをどのように設計するかです-ビジネスレイヤーをうまく利用する場合(そして、それが比較的単純であるか、たとえばまったく異なるアーキテクチャを決定しない限り、通常はそうすべきです)、そうでない場合はそれを使用します複製する必要があります。

お役に立てれば。

于 2012-04-15T14:43:00.357 に答える