DI 容器底层最基本的设计思路是基于工厂模式的。DI容器相当于一个大的工厂类,负责在程序启动的时候,根据配置事先创建好对象(需要创建哪些类对象,每个类对象的创建需要依赖哪些其他类对象)。当应用程序需要使用某个类对象的时候,直接从容器中获取即可。正式因为他持有一对对象,这个框架才被称作容器。
工厂类只负责某个类对象或者一组相关类对象的创建,而DI容器负责的是整个应用所有类对象的创建。
DI容器的核心功能分为三个:配置解析、对象创建、对象生命周期管理。
如何自己实现一个简单的DI容器?
首先就是自定义一套自己的解析方法,一般都是xml文件解析;然后在程序启动的时候,启动解析,根据反射创建对象,并添加到map 容器中,别的地方需要使用这个对象的时候,就从容器里面取就可以了。