IOC概论

一、什么是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  好好学习,天天向上.......

原文地址:https://www.cnblogs.com/bizhaozhao/p/5730526.html