注入接口与注入接口实现类的区别

tech2022-09-27  112

最近在进行ABP项目服务编写时,发现一个问题,在控制器中,即可以注入接口,也可以注入实现类,这点让我有点迷惑,具体看下图: 在请教公司前辈predecessor之后,明白了,假设类A需要调用类B中的方法Test(),为了方便扩展,我们定义一个接口声明Test方法,当我们把B注入到A中或者把接口注入到A中(B继承接口并实现Test),都是可以实现Test方法的,现在我们要对B进行扩展,定义一个类C继承B并重写B中的Test方法,此时如果是在A中注入B的话,可能就达不到增强类C中要实现的效果了。最后总结一下:对实现类B做增强得到的增强类C与实现类B是兄弟关系,所以不能用实现类B接收增强类C对象。

最新回复(0)