面向接口编程与注入理解

狂风中的少年 提交于 2020-03-08 04:21:29

在JAVA中类与对象是常见的两个名词。通常,人们喜欢把类比喻为蓝图,而对象比喻为用蓝图生成的产品。这样的比喻是有一定的缺陷的,因为当两个类有协作关系时,通常的做法是在其中一个类中生成另一个类的对象,然后再调用这个对象的方法完成相应的组合功能。如果套用蓝图与产品,我们就会发现,一种产品居然在另一产品的图纸中产生。这样的视觉效果让人产生迷惑。此时设计模式或者框架来解决了这个问题。在工厂模式中,类的对象的生成不再是随处,而是固定在一个工厂类中。通过工厂类,可以很方便生成想要的对象,同时又不会混淆图纸与产品的关系,虽然产品是在工厂图纸,也就是工厂类中生成,但也比通常的做法要好很多。spring框架也是利用了工厂模式的原理来达到减少复杂度的目的,通过把spring的配置,所有的类,也就是产品类都会被注册到bean 工厂中,当需要使用的时候只需要从工厂容器中取出相应名称的对象即可。当开始使用工厂,也就是不在图纸上面建造依赖类,那么依赖关系如何继续呢?通过接口继续这种依赖关系。一个类依赖了一个接口,意味这个类可以在自己的方法中使用所有接口中定义的方法,同时也意味着这个类可以接纳所有实现了这个接口的类的进入,或者说是注入。而实现了接口,意味着它可以被当成这个接口看待,可以注入到依赖这个接口的类中。这就是面向接口编程与DI的实际意义。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!