IoC是目的,DI是实现手段。ioc是指让生成类的方式由传统方式(new)反过来,既程序员不调用new,需要类的时候由框架注入(di),是同一件不同层面的解读
IoC更多是提供框架(spring),本身不使用资源,只是管理资源,其本身将获取对象的方式从自身主动实现 -> 通过框架注入获得
IoC ioc = the_pattern;
DI di = (DI)ioc;
依赖倒置的本质是依赖抽象,这与依赖注入的本质依赖容器
![](https://img.haomeiwen.com/i7423808/04f6e0e9a430ff46.png)
IoC和工厂模式的区别:
IoC使用反射原理,动态生成,方便热插拔和变更。
工厂模式,当对象本身发生属性变换时,工厂需要做出变更。
网友评论