Angular 4依赖注入学习教程之简介(一)

前端之家收集整理的这篇文章主要介绍了Angular 4依赖注入学习教程之简介(一)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

学习目录

本文主要给大家介绍的是关于Angular 4 简介的相关内容,分享出来供大家参考学习,下面来看看详细的介绍:

本系列教程的开发环境及开发语言:

基础知识

Angular CLI 基本使用

1、安装 (可选)

2、创建新的项目

3、启动本地服务器

依赖注入简介

在介绍依赖注入的概念和作用前,我们先来看个例子。各位看官请睁大眼睛,我要开始 "闭门造车" 了。

示例说明

一辆车内部构造很复杂,出于简单考虑,我们就只考虑三个部分:车身、车门和引擎。接下来我们来定义各个部分。

1.定义车身类

2.定义车门类

3.定义车引擎类

4.定义汽车类

export default class Car {
engine: Engine;
doors: Doors;
body: Body;

constructor() {
this.engine = new Engine();
this.body = new Body();
this.doors = new Doors();
}

run() {
this.engine.start();
}
}

一切已准备就绪,我们马上来造一辆车:

车已经可以成功上路,但却存在以下问题:

  • 问题一:在创建新车的时候,你没有选择,假设你想更换汽车引擎的话,按照目前的方案,是实现不了的。
  • 问题二:在汽车类内部,你需要在构造函数中手动去创建各个部件。

为了解决第一个问题,提供更灵活的方案,我们可以重构一下已定义的汽车类,具体如下:

constructor(engine,body,doors) {
this.engine = engine;
this.body = body;
this.doors = doors;
}

run() {
this.engine.start();
}
}

重构完汽车类,我们来重新造辆新车:

此时我们已经解决了上面提到的第一个问题,要解决第二个问题我们要先介绍一下的概念。

依赖注入的概念

在软件工程中,依赖注入是种实现控制反转用于解决依赖性设计模式。一个依赖关系指的是可被利用的一种对象(即服务提供端) 。依赖注入是将所依赖的传递给将使用的从属对象(即客户端)。该服务是将会变成客户端的状态的一部分。 传递服务给客户端,而非允许客户端来建立或寻找服务,是本设计模式的基本要求。 —— 维基百科

看完概念是不是已经晕了,其实我们只要记住依赖注入的三种角色:使用者、服务(依赖对象)及注入器(Injector)。接下来我们马上来看一下 Angular 中依赖注入的应用。

Angular 依赖注入的应用

更新后的汽车类

run() {
this.engine.start();
}
};

具体应用

let injector = ReflectiveInjector.resolveAndCreate([Car,Engine,Doors,Body]);
let car = injector.get(Car);
car.run();

看完上面的示例,我们前面提到的第二个问题,已经完美解决了哈。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对编程之家的支持

猜你在找的JavaScript相关文章