c# – 类接口应放在.NET类库中的哪个位置?

我很好奇开发人员的意见/实践,理想情况下,类接口应放在.NET类库中.它们是否应该包含在解决方案中的专用库中,例如MyCompany.AccountPackage.Interfaces?

他们应该拥有自己的命名空间吗MyCompany.AccountPackage.MasterAccounts.Interfaces?

还有其他想法/意见吗?

是否有任何好的指南演示如何构建.Net库(甚至更好的解决方案),通常显示标准库中通常应该公开哪些类/接口.

谢谢,
d.

解决方法

简短回答:

接口应该接近它们的实现位置.

至少一些BCL这样做 – IEnumerable< T>例如,它存在于System.Collections.Generic命名空间中.

答案稍长一点:

这取决于接口的用途.

是为第三方提供插件接口(a-la the provider model还是MEF)?

如果是这样,单独的程序集可能有意义,因此需要由第三方导入的所有内容都是此程序集.

它是内部的,用于测试和IoC目的吗?

我认为保持接近实现是有意义的,在组织上和帮助保持代码与接口同步.

相关文章

在项目中使用SharpZipLib压缩文件夹的时候,遇到如果目录较深,则压缩包中的文件夹同样比较深的问题。比...
项目需要,几十万张照片需要计算出每个照片的特征值(调用C++编写的DLL)。 业务流程:选择照片...
var array = new byte[4]; var i = Encoding.UTF8.GetBytes(100.ToString(&quot;x2&quot;));//...
其实很简单,因为Combox的Item是一个K/V的object,那么就可以把它的items转换成IEnumerable&lt;Dic...
把.net4.6安装包打包进安装程序。 关键脚本如下: 头部引用字符串对比库 !include &quot;WordFunc....
项目需求(Winform)可以批量打印某个模板,经过百度和摸索,使用iTextSharp+ZXing.NetʿreeSp...