N 層 ASP.NET アプリケーション: すべてのレイヤーに 1 つのクラス ライブラリを使用するか、各レイヤーに 1 つのクラス ライブラリを使用するか?
5 に答える
プロジェクトが小さすぎて、各レイヤーに 1 つのライブラリだけで十分な場合は、そのアプローチを採用します。これは、関心事の明確な分離を維持するのに役立ちます。
私の経験では、別個の DLL がパフォーマンスに悪影響を与えることはありません。パフォーマンスを向上させることができる状況がいくつかあります (ほとんど使用されないコンポーネントの遅延ロードなど)。すべての DLL は同じアドレス空間にロードされるため、ランタイムに関する限り、1 つまたは複数の DLL が存在してもほとんど違いはありません。
各レイヤーは、複数のフロントエンドが使用するかのように作成する必要があります。これは、分離を維持するのにさらに役立ち、より正確で維持しやすいコードを促進します。
両方を使用しないのはなぜですか。すべてのグローバルなものに 1 つの共通クラス ライブラリを使用し、プロジェクト固有のものには各プロジェクトに 1 つのクラス ライブラリを使用します。
もちろん、より正確にするためには、お客様の特定の状況について詳しく知る必要があります。残念ながら、すべてのケースに当てはまる解決策はありません。
各レイヤーのクラス ライブラリを使用します。このようにして、ライブラリを他のプロジェクトで再利用できます。また、これにより柔軟性が向上します...
レイヤーごとに 1 つのクラス ライブラリを好みます。ライブラリ間の適切な編成と階層を提供します。たとえば、UI レイヤーはデータ アクセス レイヤーを認識せず、データ アクセス レイヤーへの参照がないため認識できません。
ただし、コンパイル時間を短縮するために、レイヤーが同じクラス ライブラリに配置される場合があります。このようなオーバーヘッドがない場合は、常に分離型を選択してください。