http://blog.csdn.net/hel12he/article/details/46897179
https://segmentfault.com/q/1010000004526726
http://blog.csdn.net/leohzj/article/details/50618748
以下是自己的理解
服务是一个个独立的功能模块,服务提供者就如一个服务人员(但是他会在程序中突然冒出来,所以需要我们创建【就是为了完成责任】并注册服务提供者),他的责任是把服务绑定和实例化(singleton)到服务容器,再需要服务的时候,再把服务拿出来,而服务容器相当于一个盛(被绑定和实例化)的功能模块(服务)的容器。
这个容器最终在程序中(被实例化)体现为
app(应用),所以不管你需要什么以及绑定的功能模块,都可以通过
app直接获取到。
服务容器犹如一个无限大的工厂,每当新增加一项新的服务,则增加一台新功能的机器,这里的服务容器管理是一系列的接口(契约)。
- 新建服务接口以及实现服务的类
- 创建服务提供者(完成服务的绑定和实例化1.singleton绑定单例 singleton;2.绑定实例到接口以便依赖注入bind
- 注册服务者(管理服务)
使用服务(构造函数中通过依赖注入使用服务)
结合简单demo,深入理解服务容器,demo gitHub https://github.com/titlebaby/simple-ioc