依赖注入出现的目的:实现class代码可以解耦。

依赖注入是重要的程序设计模式。 Angular 有自己的依赖注入框架

什么是依赖注入:它是一种编程模式,可以让类从外部源中获得它的依赖,而不必亲自创建它们

class没有解耦前是这样的:

angular依赖注入的理解及实现原理

class Person的实现需要使用到Adderss,Id里面的实例。很明显,这样的写法Person Class的代码没办法跟Address,Id Class解耦。Address,Id Class 如果变了的话,就会出现class Person也需要跟着变化。

我们想要达到解耦的效果是这样的:

angular依赖注入的理解及实现原理

person不需要关心Address,Id,只需要在constructor里面申明即可。

那谁来帮我们解决实例的生成呢?

假设我们现在有个main函数,它就是帮我们解决好各个class直接创建实例时的依赖关系:

angular依赖注入的理解及实现原理

这样就实现了person,adderss,id之间的解耦。

但是问题来了,如果class很多的情况下,main将会非常难维护。这就需要有一个依赖注入的框架来管理实现。

angular提供了依赖注入框架来帮我们做这件事情。只需要这样使用:

angular依赖注入的理解及实现原理

angular依赖注入的理解及实现原理

person Class 也可以这样写了:

angular依赖注入的理解及实现原理

 

实际使用angular依赖注入更简单:

1.在module里面的providers里面注册injector。

angular依赖注入的理解及实现原理

2.使用的时候注入即可:

angular依赖注入的理解及实现原理

3.injector 有useValue,useClass,useFactory等。

4.angular依赖注入框架的基本实现原理:

https://www.cnblogs.com/etoah/p/5460441.html

 

相关文章:

  • 2023-01-12
  • 2021-10-29
  • 2023-04-11
  • 2021-11-18
  • 2022-12-23
  • 2021-12-21
  • 2022-01-30
猜你喜欢
  • 2021-06-18
  • 2021-10-30
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-10-09
  • 2021-07-01
相关资源
相似解决方案