• 技术文章 >web前端 >js教程

    angular学习之聊聊依赖注入

    青灯夜游青灯夜游2022-05-19 20:50:12转载349
    什么是依赖注入?本篇文章带大家了解一下angular中的依赖注入(DI),详细介绍一下AngularDI框架的两个核心概念:注入器 Injectors和提供者 Provider,希望对大家有所帮助!

    angular中的依赖注入(DI)

    1、概述

    依赖注入 ( Dependency Injection ) 简称DI,是面向对象编程中的一种设计原则,用来减少代码之间的耦合度。【相关教程推荐:《angular教程》】

    class MailService {
      constructor(APIKEY) {}
    }
    
    class EmailSender {
      mailService: MailService
      constructor() {
        this.mailService = new MailService("APIKEY1234567890")
      }
    
      sendMail(mail) {
        this.mailService.sendMail(mail)
      }
    }
    
    const emailSender = new EmailSender()
    emailSender.sendMail(mail)

    EmailSender 类运行时要使用 MailService 类,EmailSender 类依赖 MailService 类,MailService 类是 EmailSender 类的依赖项。

    以上写法的耦合度太高,代码并不健壮。如果 MailService 类改变了参数的传递方式,在 EmailSender 类中的写法也要跟着改变。

    class EmailSender {
      mailService: MailService
      constructor(mailService: MailService) {
        this.mailService = mailService;
      }
    }
    const mailService = new MailService("APIKEY1234567890")
    const emailSender = new EmailSender(mailService)

    在实例化 EmailSender 类时将它的依赖项通过 constructor 构造函数参数的形式注入到类的内部,这种写法就是依赖注入。

    通过依赖注入降了代码之间的耦合度,增加了代码的可维护性。MailService 类中代码的更改再也不会影响 EmailSender 类。

    2、DI 框架

    Angular 有自己的 DI 框架,它将实现依赖注入的过程隐藏了,对于开发者来说只需使用很简单的代码就可以使用复杂的依赖注入功能。

    在 Angular 的 DI 框架中有四个核心概念:

    2.1 注入器 Injectors

    注入器负责创建服务类实例对象,并将服务类实例对象注入到需要的组件中。

    2.2 提供者 Provider

    将实例对象和外部的引用建立了松耦合关系,外部通过标识获取实例对象,只要标识保持不变,内部代码怎么变都不会影响到外部。

    更多编程相关知识,请访问:编程视频!!

    以上就是angular学习之聊聊依赖注入的详细内容,更多请关注php中文网其它相关文章!

    声明:本文转载于:csdn,如有侵犯,请联系admin@php.cn删除
    专题推荐:Angular Angular.js
    上一篇:JavaScript怎么实现基础类型和对象一样有属性和方法 下一篇:什么是JWT?JWT怎么在nodejs中使用?
    VIP课程(WEB全栈开发)

    相关文章推荐

    • 【腾讯云】年中优惠,「专享618元」优惠券!• Angular项目如何上线?结合nginx来聊聊上线流程!• Angular知识点分享:聊聊表单、管道、绑定、指令、通信和周期• 浅析Angular变更检测机制,聊聊如何进行性能优化?• 深入了解angular中的表单(响应式和模板驱动)• 一文浅析angular中的组件模板• angular学习之聊聊指令和管道
    1/1

    PHP中文网