C# 如何在应用程序目录层次结构中构造接口?
将它们全部放在一个单独的文件夹结构中,还是与实现它们的类一起 永远不要将接口与实现接口的类放在一起(除非这些类满足以下要求)。这样做将在接口和实现者之间引入一个紧密耦合,如果不同时引用实现者,您将无法创建接口的其他实现 您基本上有两种选择:C# 如何在应用程序目录层次结构中构造接口?,c#,.net,interface,application-design,C#,.net,Interface,Application Design,将它们全部放在一个单独的文件夹结构中,还是与实现它们的类一起 永远不要将接口与实现接口的类放在一起(除非这些类满足以下要求)。这样做将在接口和实现者之间引入一个紧密耦合,如果不同时引用实现者,您将无法创建接口的其他实现 您基本上有两种选择: 将接口与使用接口的类放在一起。这仍然会产生紧密耦合,但这种耦合问题较少,因为使用者通常生活在提供相关类型的库中。在这种情况下,如果这个库中有实现者,他们可以实现接口而不引入任何额外的耦合 对于最终的松耦合,请将接口放在单独的库中。这给了您更大的灵活性,但也
- 将接口与使用接口的类放在一起。这仍然会产生紧密耦合,但这种耦合问题较少,因为使用者通常生活在提供相关类型的库中。在这种情况下,如果这个库中有实现者,他们可以实现接口而不引入任何额外的耦合
- 对于最终的松耦合,请将接口放在单独的库中。这给了您更大的灵活性,但也可能需要一些额外的工作