一、什么是IOC
维基百科上说到:2004年Martin Fowler 提出了“控制反转的”概念,他得出的结论是:依赖对象的获得被反转了。后来为这个创造了一个更好的名字:依赖注入(IOC = Inversion of Control).简单的解释是:系统的运作是通过两个或多个类的合作来实现业务逻辑,这使得每个对象都需要与其合作的对象的引用(依赖关系),这个依赖对象以前是通过自身实现去获得,现在通过一个容器统一的管理这些依赖关系,从而获得这种依赖的这种实现方式,我们可以成为IOC。
二、使用IOC与不使用IOC的对比
不使用IOC
优点:1.速度快,写得舒服!
缺点:1.创建太多对象,占用内存空间。
2.维护麻烦,改动可能影响太多的类
使用IOC
优点:1.统一管理文件,一个接口多个实现,替换更改方便
2.同时可以监控类的生命周期,和一些其他属性
3.让我们程序解耦,代码量减少,无需关心具体实现,更多的去关注业务逻辑
4.这种可拔插的模式,更符合OOP的那些原则。
5.我们测试,也更加方便,类也能更好的复用了。
缺点:1.让我们的生成对象的步骤变得麻烦,初学可能有点不习惯。
2.反射效率稍微低点,但是现在的优化影响不大
IoC的类型
从注入方法上看,主要可以划分为三种类型:构造函数注入、属性注入和接口注入。
对技术有兴趣的朋友可以加入群:245507606 好好学习,天天向上.......