文件夹结构,C#

时间:2013-06-05 04:03:05

标签: c# directory-structure

项目文件中的文件夹结构已经在这里讨论了几次,但我想进一步缩小这个问题的范围。比方说,我的项目按照以下方式组织,具有相应的命名空间

[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();

例如,如果名称空间很少,我可以轻松完成。我想知道什么是最好的方法,如果名称空间的数量很高?这是包含这样的命名空间的最佳方式吗?

1 个答案:

答案 0 :(得分:1)

如果没有按照之前的说法进行操作,我认为最好不要在文件夹甚至项目之后命名名称空间,但是以这种方式,它包含逻辑上属于的类(从系统/功能角度来看)。

例如,您可能有多个项目 - 每个项目都实现特定的外部API。功能相似,为您的系统做同样的事情,只是不同的口味。说银行对帐单下载。您的项目结构可能如下所示:

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

对所有此类项目使用相同的命名空间是有意义的,例如MySystem.StatementDownloaders

我使用更广泛的例子 - 多个项目发表意见。但是这会对具有许多文件夹的一个项目施加全部力量。要使用我的Bank-Statement-Downloader示例,您可能希望将类和其他工件组织到文件夹中(通过Bank),但同样,命名空间IMO应该反映常见功能(或其他逻辑体系结构视角 - 如app层),而不是文件夹组织。

我希望我不会误解你的问题。