当前位置: 首页 > news >正文

5.什么是Spring的依赖注入(DI)?IOC和DI的区别是什么

很多人把IOC和DI说成一个东西,笼统来说的话是没有问题的,但是本质上还是有所区别的,希望大家能够严谨一点,

IOC和DI是从不同的角度描述的同一件事,IOC是从容器的角度描述,而DI是从应用程序的角度来描述,也可以这样说,IOC是依赖倒置原则的设计思想,而DI是具体的实现方式

在面向对象设计的软件系统中,底层的实现都是由N个对象组成的,所有的对象通过彼此的合作,最终实现系统的业务逻辑。
在这里插入图片描述
有一个对象出了问题,就可能会影响到整个流程的正常运转。现在,伴随着工业级应用的规模越来越庞大,对象之间的依赖关系也越来越复杂,经常会出现对象之间的多重依赖性关系,因此,架构师和设计师对于系统的分析和设计,将面临更大的挑战。对象之间耦合度过高的系统,必然会出现牵一发而动全身的情形。

在这里插入图片描述
大家看到了吧,由于引进了中间位置的“第三方”,也就是IOC容器,对象和对象之间没有了耦合关系, 它起到了一种
类似“粘合剂”的作用,把系统中的所有对象粘合在一起发挥作用,如果没有这个“粘合剂”,对象与对象之间会彼此
失去联系,这就是有人把IOC容器比喻成“粘合剂”的由来。

http://www.lryc.cn/news/236854.html

相关文章:

  • Python开源自动化工具Playwright安装及介绍
  • Nginx生产环境安装配置
  • 「项目阅读系列」go-gin-example star 6.5k!(1)
  • 基于轻量级yolov5的瓷砖瑕疵检测系统
  • Linux:系统基本信息扫描(2)
  • 什么是虚拟DOM(Virtual DOM),说说工作原理
  • Kafka的重要组件,谈谈流处理引擎Kafka Stream
  • 基于yolov5模型的200种鸟类检测识别分析系统
  • JavaScript的学习,就这一篇就OK了!(超详细)
  • hive sql 取当周周一 str_to_date(DATE_FORMAT(biz_date, ‘%Y%v‘), ‘%Y%v‘)
  • 【React】React 基础
  • CentOS7 设置 nacos 开机启动
  • 使用低代码可视化开发平台快速搭建应用
  • 数据分析思维与模型:多维度拆解分析法
  • Goby 漏洞发布|大华智慧园区综合管理平台 poi 文件上传漏洞
  • 视频修复软件 Aiseesoft Video Repair mac中文版功能
  • 企业spark案例 —— 出租车轨迹分析(Python)
  • SQL Server - 使用 Merge 语句实现表数据之间的对比同步
  • 【Web】Flask|Jinja2 SSTI
  • SPDK NVMe-oF target多路功能介绍
  • ADAudit Plus:助力企业安全的权威选择
  • sqli-labs关卡18(基于http头部报错盲注)通关思路
  • uni-app顶部导航栏背景色如何设置,微信小程序返回键设置
  • 基于多种设计模式重构代码(工厂、模板、策略)
  • boomYouth
  • 关于这个“这是B站目前讲的最好的【Transformer实战】教程!“视频的目前可以运行的源代码GPU版本
  • STM32定时器输入捕获测量高电平时间
  • 开源WIFI继电器之硬件电路
  • 远程执行ssh脚本
  • excel导入 Easy Excel