项目文件中的文件夹结构已经在这里讨论了几次,但我想进一步缩小这个问题的范围。比方说,我的项目按照以下方式组织,具有相应的命名空间
[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();
例如,如果名称空间很少,我可以轻松完成。我想知道什么是最好的方法,如果名称空间的数量很高?这是包含这样的命名空间的最佳方式吗?
答案 0 :(得分:1)
如果没有按照之前的说法进行操作,我认为最好不要在文件夹甚至项目之后命名名称空间,但是以这种方式,它包含逻辑上属于的类(从系统/功能角度来看)。
例如,您可能有多个项目 - 每个项目都实现特定的外部API。功能相似,为您的系统做同样的事情,只是不同的口味。说银行对帐单下载。您的项目结构可能如下所示:
Project BankA
class BankADownloader
Project BankB
BankBDownloader
HelperA
ExtensionsB
Project BankC
...
对所有此类项目使用相同的命名空间是有意义的,例如MySystem.StatementDownloaders
我使用更广泛的例子 - 多个项目发表意见。但是这会对具有许多文件夹的一个项目施加全部力量。要使用我的Bank-Statement-Downloader示例,您可能希望将类和其他工件组织到文件夹中(通过Bank),但同样,命名空间IMO应该反映常见功能(或其他逻辑体系结构视角 - 如app层),而不是文件夹组织。
我希望我不会误解你的问题。