c# - 类接口(interface)应该放在 .NET 类库中的什么位置?

标签 c# design-patterns interface

<分区>

我很好奇开发人员关于类接口(interface)应该放在 .NET 类库中的什么位置的意见/做法。它们是否应该包含在解决方案中自己的专用库中,例如 MyCompany.AccountPackage.Interfaces?

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

还有其他想法/意见吗?

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

谢谢, d.

最佳答案

简答:

接口(interface)应该靠近它们实现的地方。

至少一些 BCL 会这样做 - IEnumerable<T>住在System.Collections.Generic命名空间,例如。


稍微长一点的答案:

这取决于接口(interface)的用途。

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

如果是这样,一个单独的程序集就有意义了,所以第三方需要导入的就是这个程序集。

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

我认为,让它靠近实现在组织上是有意义的,并且有助于使代码与界面保持同步。

关于c# - 类接口(interface)应该放在 .NET 类库中的什么位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8800393/

相关文章:

java - 关于固定类双重调度的问题

c++ - Qt 异步 Action 序列

javascript - 是否可以在 TypeScript 注释中组合多种类型的成员?

c# - 在 Windows 商店应用程序中获取窗口宽度/高度

c# - Entity Framework 6.1.3 无法创建数据库

php - Codeigniter 使用什么设计模式?

vb.net - 可以在 VB.NET 中追溯实现接口(interface)吗?

java - 为什么createStatement方法是在Connection接口(interface)而不是Statement接口(interface)下声明的?

c# - 解决方案中的错误消息问题

c# - 如何让 Entity Framework 5 更新陈旧数据