依赖注入 (Dependency Injection, 简称 DI) 是一种软件设计模式, 在这种模式下, 一个或更多的依赖 (或服务) 被注入 (或者通过引用传递) 到一个独立的对象 (或客户端) 中, 然后成为了该客户端状态的一部分. 该模式分离了客户端依赖本身行为的创建, 这使得程序设计变得松耦合, 并遵循了依赖反转和单一职责原则. 与服务定位器模式形成直接对比的是, 它允许客户端了解客户端如何使用该系统找到依赖.
依赖注入是干什么的? 有什么用?
依赖注入是 Angular 的重要特性之一, 依赖注入简化了 Angular 解析模块 / 组件之间依赖的过程.
作用一: 可以使我们能够轻松对组件进行测试
作用二: 降低代码的逻辑复杂度
依赖注入的原理:
程序运行过程中, 如需另一个对象协作 (调用它的方法, 访问他的属性) 时, 无须在代码中创建被调用者, 而是依赖于外部容器的注入, 调用者仅通过声明某个组件就可以获得组件的控制权, 而对该组件的依赖关系管理, 查找, 加载由外部完成.
来源: http://www.css88.com/qa/angular-js/10552.html