ウェブサイトを1つのDLLにコンパイルするか、ページごとにDLLをコンパイルする必要がありますか?
https://softwareengineering.stackexchange.com/questions/5494
-
16-10-2019 - |
質問
多数のクライアントサイトに展開される新しいプロジェクトを開発しています。このプロジェクトには、「アクセスポイント」の1つとしてWebベースのGUIが含まれています。 Webインターフェイスの速度は、このプロジェクトの優先事項であり、セキュリティに次いで2番目です。
過去には、Visual Studioで常に「Webサイト」を作成してきました。これは、公開されると、システム内の各ページに1つのDLLと1つのASPXファイルになります。ただし、実際に「Webアプリケーション」を作成し、すべてを1つのDLLにコンパイルすることができることを知っています。
私にとっては(実際のデータはありませんが、ガット感だけに基づいています)、セキュリティと速度の両方で(わずかな場合のみ)、単一のDLLとしてサイトをコンパイルすることができます。
私たちが検討すべき考慮事項は何ですか?また、私たちにぴったりの方法を選択する際に注意すべき明らかな落とし穴はありますか?
解決
大規模なアプリケーションの場合、ビジネスロジック(もしそうなら、ソフトウェア層)には、独自のDLLに行くことができる分裂の自然な領域があるはずです。
コアWebサイトの機能が単一のDLLに入ることができればいいでしょう。展開の懸念を容易にし、とにかく自然なユニットです。ページごとに1つのdllが過度に粒状に見えます。
他のヒント
可能であれば「懸念の分離」の概念を適用します。つまり、BusinessLogicはDLLに、データアクセスレイヤー、UIが別のものになります...
これは、ソースコードを紛失した場合に役立つ可能性があります... DLLを非難するときは簡単かもしれません。