2012-03-06 17 views
1

私は3層プロジェクトのソリューションを扱うのに慣れています(いくつかのソリューションには3つ以上のプロジェクトがあります)。それらのほとんどはASP.Net MVCソリューションであり、その多くはサイト、ビジネス、データというテーマのプロジェクトを持っています。したがって、3つのDLLが作成されます。プロジェクトごとまたはモジュールごとに1つのDLL?

最近、自分のビジネスレイヤーを1つのDLLにする必要があるのか​​、このビジネスレイヤーの各モジュール(たとえばProduct.DLL、Order.DLL、Customer.DLLなど)用にDLLを作成する必要があるのだろうかと思いました。

私は、もしアプリケーションが例えばビジネスに関連するビジネス層にエラーがあると、Business.DLL全体を配備するのではなく、Product.DLLしか配備できないと考えていました。

あなたの意見は何ですか?

ありがとうございます!

答えて

1

余分なビジネス層がないかぎり、複数のdllに分割することはできません。これは、プロジェクトに不必要な複雑さをもたらす可能性があります。

しかし、銀行向けのエンタープライズシステムを実行しており、各プロジェクトに独立したロジックが含まれている場合は、分割する必要があります。

5

小さなシステムの場合は、1つのプロジェクト内に3層コードを書き込むことができます。大規模なシステムの場合、多くのDLLにまたがってシステムを広めることができます。

小さいシステムでは、レイヤーを区別するために名前空間を使用すれば十分です。ワンサイズのお勧めはありません。

この考え方を買うと、DLLは論理的なものではなく物理的なアーティファクトになります。つまり、コンポーネントのバージョンを一緒にして展開する必要があります。

+0

ありがとう、ダミアン!! – AndreMiranda

+0

+1 DLLが1つあれば、レイヤ境界に違反しやすくなります(これも考慮する必要があります) – jgauffin

関連する問題