springboot中的DI(dependency injection的理解)的理解

最好理解原概念的链接

使用场景 has a关係中(这个场景在编程中太多了,使用别人的库的时候,都要用到):
传统的关係模式中,有has a的关係,也就是说,如果我有一个类,要包含其他的类。
这时候就可以使用这个设计模式。

爲什么要用?
解耦合:不会因爲has a某个类的实例,这个类修改的时候,导致自己也要修改;
(解耦合的好处:可扩展,容易维护,单元测试)

1 vs singleton模式,同样是对类的实例进行操作:
DI是爲了更加灵活的使用实例,而singleton是爲了共用和共享某个实例。

2 vs 构造函数的多态,同样是把其他类的实例作爲参数传递进来:
DI是灵活使用has a关係的设计模式;
构造函数的多态主要用于从父类中构造出不同的子类,是面向对象的基础概念;


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章