1.什么是IOC和DI
DI指的是依赖注入 所谓的依赖注入就是指的 A用户 B用户信息 当你需要用户信息的时候你需要去NEW一个对象向其中存放用户信息之后传递给A用户中 这会出现一种依赖关系 即A依赖于B 这就是指的依赖注入这个概念
IOC指的是控制反转容器
简单的例子可以参考超市,A去买东西 C是超市老板 B是商品 没有老板以前你需要自己动手去拿商品去结账,自己出力,当小弟苦活累活自己来。有了老板就不一样了,你跟老板说你要XXX对吧,然后老板去帮你那,你现在不用出力,当大哥就行了。这就是有容器没容器之间的区别,身份也就发生了改变,从当小弟变成了当大哥这就是控制反转。
2.2者的区别
DI指的是应用程序依赖容器创建并注入它所需要的外部资源。
IOP指的是容器控制应用程序,由容器反向的向应用程序注入应用程序所需要的外部资源
3.工厂的概念(IOC容器) A客人 B商品 C商店老板 如果全自己操作你买一瓶可乐需要自己去到可乐工厂,找到销售员,下单,自己去仓库提取一瓶可乐 现在有了容器就是C商店老板你只需要跟老板说我要可乐。老板找到可乐给你。这就是工厂概念。
4.松耦合 接着上面的例子,当你去买可乐,如果到了仓库发现没有可乐,你需要重新去找到销售员,再次购买雪碧。诸如此类问题。当你拥有容器也就是老板你只需要跟老板说,老板就能帮你全部安排好,这样也减少了商品和客人之间联系也就减少了耦合性。也就是依赖性