我很好奇开发人员的意见/实践,理想情况下,类接口应放在.NET类库中.它们是否应该包含在
解决方案中的专用库中,例如MyCompany.AccountPackage.Interfaces?
他们应该拥有自己的命名空间吗MyCompany.AccountPackage.MasterAccounts.Interfaces?
还有其他想法/意见吗?
是否有任何好的指南演示如何构建.Net库(甚至更好的解决方案),通常显示标准库中通常应该公开哪些类/接口.
谢谢,
d.
简短回答:
接口应该接近它们的实现位置.
至少一些BCL这样做 – IEnumerable< T>例如,它存在于System.Collections.Generic命名空间中.
答案稍长一点:
这取决于接口的用途.
是为第三方提供插件接口(a-la the provider model还是MEF)?
如果是这样,单独的程序集可能有意义,因此需要由第三方导入的所有内容都是此程序集.
它是内部的,用于测试和IoC目的吗?
我认为保持接近实现是有意义的,在组织上和帮助保持代码与接口同步.