c# - 单独的项目或多个类文件... C# 中的命名空间最佳实践

标签 c# namespaces projects-and-solutions

我正在创建一个用于我正在构建的应用程序的库。我正在构建一个类似于下面的 namespace 结构。

MyNamespace.Validation
MyNamespace.Reports
MyNamespace.Transactions
MyNamespace.DataImport
etc...

最佳实践是为每个子命名空间创建一个包含多个项目的解决方案,还是为每个子命名空间创建一个包含多个类文件的项目?谢谢。

最佳答案

这两种方法各有利弊,您需要根据自己的情况自行决定。

支持多个项目:

  • 单独的程序集允许编译器提供更严格的指导,有可能防止耦合蔓延。这使您可以更好地维护依赖关系。
  • 可以根据需要在其他项目中加载单独的程序集,从而有可能简化重用。
  • 单独的程序集可以防止不必要的代码被加载到进程中,因为它们是按需加载的。

多个项目的缺点:

  • 部署更复杂,因为需要部署的文件更多(次要)
  • 构建/编译速度较慢,甚至可能加载多个程序集(次要)的加载时间

就我个人而言,我认为在大多数情况下利大于弊。我通常会将命名空间拆分为单独的程序集,前提是它们不相关。就您而言,您正在研究 4 个截然不同的概念,所以我的直觉是拆分最有意义。

关于c# - 单独的项目或多个类文件... C# 中的命名空间最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2231368/

相关文章:

r - “数据”不是从 'namespace:my_package' 导出的对象

c++ - VS 2012 更改默认调试 'Working Directory'

c# - 在未绑定(bind)的 DataGridView 中看不到行

c# - 使用 ASP.Net WebAPI 2 通过 http 传输原始字节

c# - 如何检查Windows用户是否可以通过模拟访问(Windows集成安全性身份验证)SQL Server Analysis Services(SSAS)服务器

visual-studio-2010 - 'Microsoft' 作为 Visual Studio 中项目设置的默认公司和版权是怎么回事?

c# - 来自 vb.net 中字符串的 CRC-16/ARC

C# 使类对它自己以外的所有命名空间不可见

c# - 在 Visual Studio 2010 加载项中访问命名空间时出现问题