文件夹结构,c#

本文关键字:结构 文件夹 | 更新日期: 2023-09-27 18:17:01

项目文件中的文件夹结构已经在这里讨论了几次,但我想进一步缩小这个问题的范围。例如,我的项目以以下方式组织,分别使用各自的名称空间

[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();
例如,如果它有少量的名称空间,我可以很容易地做到这一点。如果名称空间的数量很高,我想知道最好的方法是什么?这是包含这样的名称空间的最佳方式吗?

文件夹结构,c#

没有遵循前面所说的,我认为您最好不要在文件夹甚至项目之后命名名称空间,而是以这样一种方式命名,即包含逻辑上属于一起的类(从系统/功能的角度来看)。

例如,您可能有几个项目-每个项目实现一个特定的外部API。功能相似,为您的系统做同样的事情,只是风格不同。比如银行对账单下载。您的项目结构可能看起来像这样:

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

对所有这样的项目使用相同的命名空间是有意义的,例如MySystem。StatementDownloaders

我用更广泛的例子给出了一个意见-多个项目。但这适用于一个项目的许多文件夹。以我的Bank-对报表下载程序为例,您可能希望将类和其他构件组织到文件夹中(按银行),但同样,在我看来,名称空间应该反映通用功能(或其他逻辑架构角度-如应用程序层),而不是文件夹组织。

我希望我没有误解你的问题。