--1.依赖注入--补充

2018-02-05  本文已影响0人  Monee121

可测性和可重用性更高

假设,一个product,然后用productService服务获取信息。没有依赖注入,在组件里,得知道如何去实例化这个服务。-----

不管用哪种方式,组件将于服务紧密联系。

在另一个项目,重用组件,但是得使用另一个不同的服务对象获取。必须的得修改new 一个anthor服务。这个说明组件和服务是紧密耦合在一起的。想要在别的项目里用商品组件。得改代码才能用。依赖注入能解除这种关系。想用,不用修改代码。

providers:[]哪些对象需要依赖注入,一个元素叫provide,providers定义了对象一个注入到组件或指令之前,如何实例化。

token的类型,由provide决定,

注册一个类型是prodductService的token,当有组件或指令声明需要一个prodductService的token时,实例化一个prodductService,并将注入目标对象。

组件或指令如何声明需要一个prodductService的token呢?用构造函数

看到这个声明,就会去providers里找,token对应的类是什么,实例化后注入,组件本身不知道是providers哪个,只需要创建好的对象,调用方法就可以。别的项目想用如下代码

消除了服务和组件的松耦合,提高了重用性。第一个好处。

第二个好处,可测性。

登录功能,组件和服务,服务连接服务器,依赖注入可以测试。创建mock,将mock服务注入,可测,服务开发好,将服务注入,可测。

上一篇 下一篇

猜你喜欢

热点阅读