1

プロジェクト ファイルのフォルダー構造については、ここで何度か説明されていますが、さらに質問を絞り込みたいと思います。たとえば、私のプロジェクトは、それぞれの名前空間で次のように編成されているとします

[Project 1]  

[A(Folder)]    
   Class A             ConceptCheck.ClassA
   [B(Folder)] 
     Class B           ConceptCheck.ClassA.ClassB
[C(Folder)]
   Class C             ConceptCheck.ClassC

したがって、以下のようにオブジェクトを作成するときは、すべての名前空間を含める必要があります

using ConceptCheck.ClassA;
using ConceptCheck.ClassB;
using ConceptCheck.ClassA.ClassC;

            A a = new A();
            B b = new B();
            C c = new C();

たとえば、名前空間の数が少ない場合は、簡単に実行できます。名前空間の数が多い場合、最善の方法は何ですか? このような名前空間を含める最善の方法はありますか?

4

1 に答える 1

1

以前にここで言われたことに従わずに、フォルダーやプロジェクトの後に名前を付けるのではなく、論理的に (システム/機能の観点から) 一緒に属するクラスを包含するような方法で、名前空間に名前を付ける方がよいと思います。

たとえば、複数のプロジェクトがあり、それぞれが特定の外部 API を実装しているとします。機能的に似ており、システムに対して同じことを行いますが、フレーバーが異なります。銀行取引明細書のダウンロードと言います。プロジェクト構造は次のようになります。

Project BankA 
   class BankADownloader
Project BankB 
   BankBDownloader
   HelperA
   ExtensionsB
Project BankC
   ...

MySystem.StatementDownloaders など、そのようなすべてのプロジェクトに同じ名前空間を使用することは理にかなっています。

私は、さらに幅広い例、つまり複数のプロジェクトを使用して意見を述べています。しかし、これは多くのフォルダを持つ 1 つのプロジェクトに完全に適用されます。Bank-Statement-Downloader の例を使用するには、クラスやその他のアーティファクトを (銀行ごとに) フォルダーに整理することをお勧めしますが、名前空間 IMO は共通の機能 (またはアプリケーション層などの他の論理アーキテクチャの観点) を反映する必要があります。フォルダ編成ではなく。

あなたの質問を誤解していないことを願っています。

于 2013-06-05T04:43:25.893 に答える