【问题标题】:Can a class have its own method outside of an interface under DI?一个类可以在 DI 下的接口之外有自己的方法吗?
【发布时间】:2017-08-06 15:26:08
【问题描述】:

我一直在阅读有关 DI 并在 Spring 中自动装配一些对象并遇到这种情况 - 类 A 和 B 实现接口 I。类 C 获得类型 I 的自动装配依赖项 - 即 A 或 B 的对象。接口我有由 A 和 B 实现的方法 m1 和 m2 - C 现在可以调用它们。如果,A 有自己的方法 m3 而 B 有自己的方法 m4 - m3 和 m4 不是 I 的一部分。我无法让 C 调用这些方法。有解决方法吗?如果没有,是否有与之相反的设计原则?

谢谢

【问题讨论】:

    标签: spring dependency-injection interface


    【解决方案1】:

    由于没有示例代码,我不确定我是否理解问题所在。这是我所理解的答案。我认为您不能调用通过接口注入对象的实例的方法,除非该方法在合同中。它超越了使用接口的全部目的。您只能使用接口中定义的内容。如果实现该接口的类有其他方法,我能想到的唯一调用它们的方法是通过一些反射魔法。但是,这将违背模式和最佳实践。

    【讨论】:

      猜你喜欢
      • 2011-09-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-15
      • 2015-01-30
      • 2021-10-20
      • 1970-01-01
      • 2016-05-30
      相关资源
      最近更新 更多