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

 

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值