微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

依赖注入 – 依赖注入接口对具体类?

我对DI中的几点感到困惑.让我解释:
首先,依赖注入是否必须遵循依赖性倒置原则?
如果是这样,我们就不能将具体的类实例注入依赖.因为,此操作违反了DIP.
让我们通过一个例子问我的问题:

public class Client {

private Service service; // Service is concrete class !

Client(Service service) {this.service = service;}
}

所以在这个例子中,依赖和依赖都是具体的.这违反了DIP原则,我们可以说这是依赖注入吗?在我的意见中,是的,我们可以.因为DI是所有对象创建,这些代码履行实际职责并从依赖中获取创建对象的操作.但同时它也没有遵循DIP.我在等你的想法:)
在此先感谢朋友们.

解决方法

Does Dependency Injection has to follow Dependency Inversion Principle?

不,不.依赖注入只是从外部将依赖项注入组件的实践,而不是让组件创建或请求这些依赖项.

因此,虽然您可以在不遵循依赖性倒置原则的情况下应用依赖注入,但遵循DIP通常是一种很好的做法,因为DIP促进了松散耦合,这使得更容易更换,装饰,拦截和模拟依赖性,从而提高了可测性,灵活性和可维护性.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐