美文网首页程序员
浅谈依赖注入

浅谈依赖注入

作者: 林肯公园_97cc | 来源:发表于2018-11-09 19:41 被阅读0次

依赖注入是什么?

依赖注入的作用是什么?

依赖注入的应用场景?

如何实现依赖注入?

对于一个后端程序员来说,依赖注入应该是融入日常生活的,不理解依赖注入的后端程序员不是一个合格的程序员(我看来也不够格),为什么这么说呢,因为对于服务端语言来说,现在的依赖注入是编程的主流框架,例如Spring等等。

    什么是依赖注入。我们写代码的时候当我们需要某一个对象或模块时,我们一般是自己创建它,抱着奥卡姆剃刀的原则,如无必要,勿增实体,我们不可能每次都创建一大堆仅仅适用于当前上下文的对象,而且,在项目越来也复杂的时候,项目会变得难以维护,因为耦合度太高了,所以我们想要一种方式在;让每一块代码只负责自己的功能,其他的就交给“其他人”去做,每次需要一个模块的时候,和这个“其他人”说一声,他就会帮您提供,这种方式就可以理解为依赖注入,把当前代码块所以依赖的其他模块统一交给一个中间人(容器),我们使用时,只需要按照和这个容器约定好的协议写一段代码,容器读懂了这段代码,就会给你带来你想要的依赖。这就是依赖注入。

这个依赖注入系统最好能够在没有别人调用的时候不去创建对象,仅仅是调用即创建,且创建就可调用,无需多次创建。

实现依赖注入系统:

    首先这个容器要能够被整个工程调用,这个容器必然是全局对象。这个全局对象几个方法,一个方法要能够接受函数为参数,这个方法的目的是将这些函数变成可源码,一个方法自然就是解析这些源码,还要一个方法能够接受一些字符串为参数,他可以将字符串解析成对应的函数,当容器接收到需要调用某个函数的字符串时,这个方法就返回该对应函数,这样就是一个基本的依赖注入系统的模型,当然真的肯定要更复杂,在一个复杂工程中,性能问题是必须要考虑到的。

什么地方要使用依赖注入呢,我认为就只有一个标准:项目的复杂度。项目越复杂,需要扩展的地方就越多,后期维护的难度就越大,这也是为什么angular能成为大型项目首选的原因,得以依靠依赖注入,angular注定是为了大型项目而生的,但这也造成了他上手的难度(相对于其他的前端框架来说)。

依赖注入是一种编程思想,与之相关的是AOP,从功能出发,剖析项目的全局,使用依赖注入的方式取代之前的耦合,同时也使项目变得更有扩展性。

相关文章

  • Dagger2常用注解诠释

    依赖注入 控制反转(IoC)与依赖注入(DI)浅谈依赖注入理解依赖注入(IOC)和学习Unity Gradle配置...

  • 告别Dagger2,Android的Kotlin项目中使用Kod

    前言:依赖注入浅谈 Dagger2的困境 对于依赖注入(Dependency Injection,简称DI)来讲,...

  • 浅谈依赖注入

    依赖注入个人见解 当笔记用,勿喷。 原因 我不想因为我的依赖变化导致每次我都要改造自己 我不想再控制我的依赖了 我...

  • 浅谈依赖注入

    依赖注入是什么? 依赖注入的作用是什么? 依赖注入的应用场景? 如何实现依赖注入? 对于一个后端程序员来说,依赖注...

  • (DI)依赖注入,(IOC)控制反转的理解

    之前面试一些公司会问我对依赖注入、控制反转的理解。这里我就浅谈下自己的理解。 什么是依赖注入,依赖注...

  • 浅谈golang的依赖注入

    浅谈golang的依赖注入 如果是做web开发,对依赖注入肯定不陌生,java程序员早就习惯了spring提供的依...

  • 浅谈.Net Core依赖注入

    用.Net Core开发也有一段时间了,虽然用的算不上精通,磕磕碰碰也都有过,不过也算是入门了,开发一般项目都没什...

  • 开源项目的依赖注入

    开源项目的依赖注入 依赖注入概念 依赖注入(DI:Dependency Injection): 依赖注入方式: B...

  • 资料收集

    依赖注入 AngularJs依赖注入的研究 (已读) 依赖注入(已读)

  • Day62 Spring 依赖注入源码解析

    手动注入自动注入 依赖注入,set注入,构造注入 依赖注入: Key依据 byType byName constr...

网友评论

    本文标题:浅谈依赖注入

    本文链接:https://www.haomeiwen.com/subject/fqkgxqtx.html