Lcllao 发表于 2013-1-4 02:42:37

AngularJs学习笔记--Dependency Injection(DI,依赖注入)

<div id="cnblogs_post_body"><div class="Section0">原版地址:http://code.angularjs.org/1.0.2/docs/guide/di

一、Dependency Injection(依赖注入)
  依赖注入(DI)是一个软件设计模式,处理代码如何得到它所依赖的资源。
  关于DI更深层次的讨论,可以参观Dependency Injection(http://en.wikipedia.org/wiki/Dependency_injection),Inversion of Control(http://martinfowler.com/articles/injection.html),也可以参观软件设计模式的书。
  1. DI in a nutshell(简说DI)
  object或者function,只能够通过以下三种方式获取他们依赖的资源:
    1) 可以通过new运算符创建依赖的资源。
    2) 可以通过全局变量查找依赖的资源。
    3) 可以通过参数传入依赖的资源。
  1、2两种方式,并不是最佳的,因为它们对依赖关系进行hard code,这使得修改依赖关系时,不是不可能,但会变得比较复杂。这对于测试来说尤其是个问题,通常在独立测试时,希望能够提供模拟的依赖资源。
  第3种方法相对来说最可行,因为它去除了从组件(component)中定位依赖的责任。依赖仅仅交给组件就可以了。
<div class="cnblogs_code">function SomeClass(greeter) {   this.greeter = greeter}SomeClass.prototype.doSomething = function(name) {   this.greeter.greet(name);}
页: [1]
查看完整版本: AngularJs学习笔记--Dependency Injection(DI,依赖注入)