创建可重用企业名称空间时的最佳实践

TCN*_*Bob 6 .net c# assemblies namespaces

好吧,现在已经有一段时间了.我正在为所有常见的中间层对象创建可重用的公司命名空间(类库).然后,我们的任何开发人员都可以在项目的开发阶段引用此程序集.这是我的问题.创建一个由我们所有中间层逻辑组成的单个程序集还是将此功能分解为更小的程序集更容易接受?

示例:单个程序集(名称空间示例)

系统

System.IO

System.IO.RegEx

System.Net

System.Net.Mail

System.Security

System.Web - AssemblyFull.dll

示例:多个装配体

System.IO

System.IO.Reg - 编译为AssemblyIO.dll

System.Net

System.Net - 编译为AssemblyNet.dll

在过去,我使用这两种方法做到了这一点,但我想知道其他人做了什么,为什么?我不是在寻找任何代码示例,我只是想知道其他开发人员在做什么?

提前致谢.

Lor*_*ano 4

作为一般规则,如果程序集没有显式耦合,我会使用它们来分隔它们。例如,如果您有一个低级别的网络 API,以及用于 FTP 相关操作的其他 API,则后者可能取决于前者;但对于 API 用户,您的开发人员;无需在一个组件中同时具备这两种功能;也许一个项目不需要 FTP API,因此它们只需要包含核心“Net”程序集。您可以分离 API,使其尽可能原子化,并避免开发人员在只使用其中一小部分的情况下包含大型程序集。

这种方法的缺点是,如果开发人员需要 FTP 程序集,他们还需要包含 Net 程序集;因此,您必须找到一种方法来管理这些依赖项,从而降低开发人员的复杂性。我在开发 Java 应用程序时使用Maven(来自 Apache),但到目前为止我还不知道.NET 的类似 Maven 的良好替代方案

但是,如果您正在为公司构建一些 API,则可以使用 Wiki 站点或其他轻量级文档工具来解决此问题。