IOC将实例依赖抽取出来放到配置文件中管理,但是思考这么一个问题:如果只是将实例化抽取出来放到配置文件中,和在代码中实现有什么区别?
如果没有真正理解IOC,就会觉得迷茫,似乎确实有这个问题存在。
IOC的优势在于通过第三方容器将资源统一管理,减少资源和资源调用方的依赖关系,好处就是降低耦合,修改资源时不用侵入代码。回到上面的问题,抽取到配置文件中和在代码中实现有什么区别?首先,“代码中实现”有点含糊,如果说的是不使用IOC,依赖还是在资源调用方管理,耦合就不可避免,在资源修改的时候,资源调用方很可能也需要修改。如果“代码中实现”指的是IOC使用配置文件管理资源,还是用代码管理资源,我认为是没有区别的。配置文件只是实现方式,用一个配置类来处理也可以实现,IOC最重要的是资源管理容器根据配置信息进行资源的组装和自动注入,而不用特别关注资源在哪里配置。
网友评论