没有依赖注入的接口

时间:2019-05-03 06:42:30

标签: .net design-patterns dependency-injection

自从DO和IOC广为人知并被使用以来,我就看到了使用大量类的接口的趋势,即使这些类不是D / IOC解决的服务。就像当经常引用类本身而不是接口时,最好至少具有类EVEN的接口会更好。如果没有DI / IOC,使用这样的接口有什么好处。

2 个答案:

答案 0 :(得分:3)

像这样的问题并不总是有相同的答案。建立接口的理由很多,但也有很多没有充分理由的接口。

通常,接口用作参数类型来声明构造函数或方法需要的内容,因为可以在其参数中使用需要特定于特定实现的构造函数或方法。上下文少得多。

这是非私有方法和构造函数的重要考虑因素,这就是为什么使用接口如此普遍的原因。它不仅涵盖DI,还涵盖了更多的用例。

但是,如果您创建的实现类不需要传递给任何此类方法或构造函数,则没有理由建立接口。每个类或接口都应有一个目的……而“成为该类的接口”不是有效的目的。

接口的目的是捕获其消费者的需求,而不是其实现。

答案 1 :(得分:0)

对我来说,接口首先是解耦代码的方法。是否使用IOC都没有关系。即使使用具有单个实现的接口也是一件好事。对于应用程序的演变,最好使用可以根据新需求或要进行更改的方式重新实现的接口。

本文比我更好地描述了我的观点:Decouple your code