我的背景主要是 Java 开发人员,但最近我一直在 .NET 方面做一些工作。因此,我一直尝试在家做一些简单的项目,以更好地使用 .NET。我已经能够将我的大部分 Java 经验转移到使用 .NET(特别是 C#)中,但唯一真正让我困惑的是命名空间。
我知道命名空间与 Java 包类似,但据我所知,主要区别在于,对于 Java 包,它们使用实际的文件夹来显示分隔,而在 .NET 中则不然,所有文件都驻留在一个文件夹中并且命名空间只是在每个类中声明。
我觉得这很奇怪,因为我总是将包视为组织和分组相关代码的一种方式,使其更容易导航和理解。由于在 .NET 中它不是这样工作的,随着时间的推移,项目会显得更加拥挤并且不那么容易导航。
我在这里错过了什么吗?我必须。我应该将解决方案中的内容分解为单独的项目吗?或者是否有更好的方法来组织项目中的类和文件?
编辑:正如布莱尔指出的,这几乎是同样的问题here.
我不能声称这是最佳实践,但我经常看到文件组织在反映命名空间的目录层次结构中。如果它更适合您对代码的心理模型,那么就这样做 - 我想不出有什么坏处。仅仅因为 .NET 模型不强制命名空间、项目和目录结构之间的关系,并不意味着您不能拥有这样的关系(如果您愿意的话)。
我对将代码分解为比您需要的更多的项目有点谨慎,因为这会减慢编译速度,并在您必须管理多个程序集时增加一点开销。
编辑:请注意,这个问题几乎是重复的解决方案中的文件夹应该与命名空间匹配吗?
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)