美文网首页
Laravel 学习笔记:深入理解控制反转(IoC)和依赖注入(

Laravel 学习笔记:深入理解控制反转(IoC)和依赖注入(

作者: DevYuan | 来源:发表于2018-05-12 08:07 被阅读0次
laravel.jpg

目的:解耦和减少依赖关系;

控制反转(IoC):由外部负责其依赖行为;

例如“超人”类不需要在其内部固化它的“超能力”,而是由外部来产生、组装“超能力”,再通过“超人”的某个接口中植入;

只要“超能力”满足某个接口,就能被超人所使用;

依赖注入(DI):对象的依赖,由外部以参数或其他的形式传入;

例如“超人”的构造器,接收一个实现了“超能力”接口的对象,这样所有人都能给超人制造“超能力”,只要这个“超能力”遵循“超能力”接口;

其实,IoC 和 DI 讲的差不多是同一个意思;

主角:IoC 容器;

IoC 和 DI 的概念都是为 IoC 容器做准备,Laravel 的核心就是一个 IoC 容器;

IoC 容器是一个更为先进的“工厂”,它可以根据预定的脚本,自动组装类所需要的依赖;

基本原理:我们通过注册、绑定的方式向容器中添加一段可以被执行的回调(可以是匿名函数、非匿名函数、类的方法)作为生产一个类的实例的 脚本 ,只有在真正的 生产(make) 操作被调用执行时,才会触发;

这样一种方式,使得我们更容易在创建一个实例的同时解决其依赖关系,并且更加灵活。当有新的需求,只需另外绑定一个“生产脚本”即可;

Laravel 的 IoC 容器更加高级,可以根据类的需求,自动注册、绑定符合的依赖,并自动注入到构造函数中去;

其原理也并不是很复杂,是使用了 PHP 的反射机制;

Laravel 服务容器实例教程 —— 深入理解控制反转(IoC)和依赖注入(DI)

相关文章

  • Dagger2常用注解诠释

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

  • 6.Spring IoC练习

    1. 依赖注入和控制反转 依赖注入和控制反转IoC是什么Ioc—InversionofControl,即“控制反转...

  • Spring入门01--基本知识

    一, Spring框架的核心机制:依赖注入DI和控制反转IOC 理解控制反转IOC(Inversion Of Co...

  • 关于依赖注入(typescript)

    一、概念:依赖注入(DI)、控制反转(IOC)、IOC容器 依赖注入(DI)和控制反转(IOC)基本是一个意思,因...

  • Laravel 学习笔记:深入理解控制反转(IoC)和依赖注入(

    目的:解耦和减少依赖关系; 控制反转(IoC):由外部负责其依赖行为; 例如“超人”类不需要在其内部固化它的“超能...

  • 2018-12-06 理解依赖注入与控制反转

    依赖注入 控制反转 ID-IOC https://laravel-china.org/topics/2104/un...

  • IOC 控制反转

    以下内容只是我个人理解 依赖注入和ioc 是什么关系? 依赖注入是控制反转(ioc)的一种实现方式 如何理解控制反...

  • 控制反转

    什么是控制反转(IOC),什么是依赖注入(DI)?问题:什么是控制反转(IOC),什么是依赖注入(DI)?IOC:...

  • spring记错本

    1.IOC:控制反转(DI:依赖注入)对控制反转和依赖注入的理解:image.png 其中原理是利用反射机制调用s...

  • spring之控制反转和依赖注入

    Spring学习(三)IOC控制反转与DI依赖注入

网友评论

      本文标题:Laravel 学习笔记:深入理解控制反转(IoC)和依赖注入(

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