我一直在阅读关于DI并在Spring中自动装配一些对象并遇到这种情况 - 类A和B实现接口I.类C获得类型I的自动连接依赖 - 即A或B的对象.Inface我有方法m1和m2由A和B实现 - C现在可以调用。如果,A有自己的方法m3和B有自己的方法m4 - m3和m4不属于I.我无法允许C调用这些。有解决方法吗?如果没有,是否存在违背此设计原则的设计原则?
由于
答案 0 :(得分:0)
我不确定我是否理解这个问题,因为没有示例代码。以下是我的理解答案。我不认为您可以通过接口调用注入到对象中的实例的方法,除非该方法在合同中。它胜过使用接口的全部目的。您只能使用界面中定义的内容。如果实现该接口的类有其他方法,我能想到调用它们的唯一方法是通过一些反射魔法。但那时,这将违背模式和最佳实践。