java - 抽象类的依赖注入
问题描述
依赖注入是否仅指接口的情况?假设我们有参数声明为接口的类的构造函数,因此我们可以在创建类时传递实现。当我们创建一个抽象类和一个扩展它的类时,我们也可以这样做。第二种情况是否也可以称为依赖注入或者这种技术仅指接口使用?
解决方案
依赖注入根本没有具体的接口处理。简单来说,它只是声明,在运行时根据需要注入该死的依赖项,而不受内置编译时依赖项的控制。
它类似于这样的事情。我购买了带有我想要的发动机的汽车,而没有购买带有内置发动机(他们想要的发动机)的汽车。因此,这完全与对象创建的运行时可配置性有关。
因此,无论您注入的参数类型是接口、抽象类还是具体类,都没有关系。
但无论如何,尽管它与 DI 无关,但如果您使用接口或抽象类而不是具体的类类型,您可以在代码中引入更多的泛化(通过多态性)。
推荐阅读
- firebase - 当我使用 async* yield* 时,我的 UI 没有更新,就像使用 return 的常规流函数一样
- r - 如何以比这更快的方式将数据从 oracle 检索到 R?
- json - 如何在 Flutter 中从 OwlBot API 获取 404 响应?
- react-native - React Native 与异步 Redux 状态
- python - 如何使用第二个数组的索引作为python中的键对numpy数组进行排序
- azure - 处于更新状态的应用程序网关入口控制器
- python - Python:无法将 NumPy 数组转换为张量
- spring-boot - Spring Boot 测试容器
- visualforce - 尽管模板存在于 sfdc 中,但我在其他一些电子邮件模板上找不到错误模板
- authentication - 使用推送通知创建推送身份验证(无密码登录机制)