2011-07-22 6 views
5

私は大規模なC#プロジェクトに取り組んでいますが、私はなぜ人々が自分のアプリケーションでDLLを使用するのだろうと思っています。私はdllファイル(私は間違っている場合は訂正してください)がいくつかの機能を含んでいることを知っていますが、なぜ私たちはメインのC#アプリケーションの中にそれらの機能を置かないのですか?C#:なぜDLLを使用するのですか?

おかげ

+4

http://stackoverflow.com/questions/484452/what-is-a-dll – AndrewC

+3

なぜ機能を使用しますか?なぜそれらの文を 'Main()'に入れないのですか?なぜクラスを使うのですか? .... –

答えて

17

そのほとんどは答えto this questionに要約されますが、「あなたは、コードを複製する必要はありませんので、」基本的な推論があります。

+0

+1。あなたは私にそれを打つ。 – David

+0

Spot on。複数のプロジェクトにわたってコードを再利用できるようになります。 – AndrewC

+0

ええ...それにも私にそれを打つ。コードの再利用。 – WernerCD

8

コードの再利用。通常、dllファイルには複数のアプリケーションで便利な機能が含まれています。これらのファイルを単一のコンパイル済みファイルにまとめることは、すべてのコードをコピーするよりも簡単です。

8

移植性、再利用性、モジュール性。

タイプを別々のアセンブリに分割することで、異なるプロジェクトでそれらのタイプを再利用し、それらのタイプをモジュール式に維持することができます(たとえば、アプリケーション全体ではなくアセンブリを1つだけ更新)。

また、共通の機能を1つのパッケージにまとめることもできます。

6

保守性。バグを修正する必要がある場合は、アプリケーション全体を再リリースする代わりに、修正を含むDLLだけをリリースすることができます。

0

拡張性 - 多くのプラグインフレームワークでは、プラグインのDLL /アセンブリが使用されています。

0

dll:ダイナミックリンクライブラリ: ライブラリです。 これにはいくつかの関数とデータが含まれています。 ここではこれらの機能を使用していますか? これらの関数とデータは、別のアプリケーションやプログラムでdllの中にあります。 最も重要なことは、dllがメモリにロードされず、必要とされるときにdllがRAMにロードされるということです。

0

DLLを参照するだけで多くのサードパーティ機能をアプリケーションに統合できるため、サードパーティのツール/アプリケーションをすべてシステムに使用する必要はありません。 たとえば、MS Outlookでコードを介して会議出席依頼を送信する必要があります。これは、アプリケーション内のMS Outlookで提供されているDLLを参照するだけで、成功への道を開くことができます。

関連する問題