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

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

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

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

class没有解耦前是这样的:

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

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

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

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

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

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

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

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

person Class 也可以这样写了:

 

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

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

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

3.injector 有useValue,useClass,useFactory等。

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

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

猜你喜欢

转载自blog.csdn.net/SunShinessx/article/details/88630703