9

クラス ライブラリと名前空間の実際の違いは何ですか? どちらもクラスや名前空間などをグループ化するために使用されることを知っています。どのシナリオでクラス ライブラリを使用する必要があり、いつ新しい名前空間を作成する必要があるかを誰でも知ることができます。

4

2 に答える 2

11

名前空間はクラスの概念的な分離を提供し、クラス ライブラリは物理的な分離を提供します (Windows ではスタンドアロンの dll と考えてください)。

クラス ライブラリは、他のプロジェクトと共有できる機能をまとめたい場合に便利です。

UI と実装クラス (クラス ライブラリ) を 2 つの異なるプロジェクトに分割する Windows アプリケーションを作成することを想像してみてください。次に、同じものの Web バージョンが必要であることがわかります。作成したクラス ライブラリを Windows アプリケーションからインポートするだけで、すべての実装を利用できるようになり、Web UI だけに集中できます。

名前空間を使用して 1 つのプロジェクトで Windows アプリ全体を作成してそれらを分離した場合、それを行うのはトリッキーで面倒です。(exeをインポートしようとしたことがありますか?)

クラス ライブラリ自体が名前空間を使用して、その中のクラスにさらに概念的な分離を提供する可能性が高いことを指摘する価値があります。

于 2012-07-11T07:26:28.167 に答える
5

名前空間の目的は、名前の衝突を避けることです。名前空間は、数百のクラスがある場合に使用する必要があります。その他の指標 - あなたのコードが他の誰かによって使用され、あなたの名前がユーザー コード内の名前と衝突する可能性がある場合。

その他の重要な違いは、クラスが常にデータ型であることです。このタイプの変数を定義できます。名前空間は型ではありません。名前空間で変数を定義することはできません。

于 2012-07-11T07:03:44.023 に答える