IOC Service Provider
1.什么是IOC Service Provider?
IOC Service Provider:是一个抽象的概念,它指任何将IOC场景中的业务对象绑定到一起的实现方式。它可以是代码,也可以是一组相关的类。
2.IOC Service Provider的职责?
2.1业务对象的构建管理
在IOC中,业务对象不需要关心依赖对象是如何构建如何取得的,而IOC Service Provider的任务就是将对象的构建逻辑从客户端对象那里剥离出来,以免这部分逻辑污染业务对象的实现。
2.2业务对象的依赖绑定
IOC Service Provider通过结合之前构建和管理的所有业务对象,以及各业务对象间可以识别的依赖关系,将这些对象所依赖的对象注入绑定,从而保证每个业务独享在使用的时候,可以处于就绪状态。
3.IOC Service Provider如何管理对象间的依赖关系的?
归纳一下,当前流行的IOC Service Provider产品使用的注册对象管理信息的方式主要有以下几种:
3.1直接编码方式
当前大部分的IOC容器支持直接编码的方式。比如spring、Avalon等。在容器启动之前,通过程序编码的方式将被注入对象和依赖对象注册到容器中,并明确它们之间的依赖注入关系。
通过为相应的类指定对应的具体内容,可以告知IOC容器,当我们要这种类型的对象实例时,将容器中注册的、对应的那个具体的实例返回给我们、
3.2配置文件方式
这是一种比较普遍的依赖注入关系管理方式,最为常见的是通过XML文件管理对象的注册和对象间的依赖关系。
3.3元数据方式
这种方式代表实现是Google Guice。我们可以直接在类中使用元数据来标注各个对象之间的依赖关系,然后由Guice框架根据这些注解所提供的的信息将这些对象组装后,交给客户端对象使用。