控制反转是Spring框架的核心。
2024-08-30 22:00:47
早在2004年,Martin Fowler就提出了“哪些方面的控制被反转了?”这个问题。他总结出是依赖对象的获得被反转了。基于这个结论,他为控制反转创造了一个更好的名字:依赖注入。许多非凡的应用(比HelloWorld.java更加优美,更加复杂)都是由两个或是更多的类通过彼此的合作来实现业务逻辑,这使得每个对象都需要,与其合作的对象(也就是它所依赖的对象)的引用。如果这个获取过程要靠自身实现,那么如你所见,这将导致代码高度耦合并且难以测试。
IoC 亦称为 “依赖倒置原理”("Dependency Inversion Principle")。差不多所有框架都使用了“倒置注入(Fowler 2004)技巧,这可说是IoC原理的一项应用。SmallTalk,C++, Java 或各种.NET 语言等面向对象程序语言的程序员已使用了这些原理。
控制反转是Spring框架的核心。
应用控制反转,对象在被创建的时候,由一个调控系统内所有对象的外界实体,将其所依赖的对象的引用,传递给它。也可以说,依赖被注入到对象中。所以,控制反转是,关于一个对象如何获取他所依赖的对象的引用,这个责任的反转。
最新文章
- mybatis plugins实现项目【全局】读写分离
- C#调用vbs脚本实现Windows版Siri
- 本机,同机房,同城,异地,不同城,腾讯云ping延时值
- Spring面向切面之AOP深入探讨
- beaglebone_black_学习笔记——(9)UART使用
- CSS权威指南 - 基本视觉格式化 4
- .NET跨平台之OWEN中 过滤器的使用
- 在eclipse中打开项目所在的目录
- 史上最完整的Android开发工具集合
- 用javascript编写的简单计算器
- [译] ASP.NET 生命周期 – ASP.NET 请求生命周期(四)
- logstash ArgumentError: comparison of String with 5 failed
- Hbulider里面template模板自用
- 这是一款可以查阅Github上的热门趋势的APP
- NodeJs之EXCEL文件导入导出MongoDB数据库数据
- python3操作MySQL数据库,一次插入多条记录的方法
- visual studio 启动报 activityLog.xml文件 错误
- js 注意
- vue中清除定时器
- 338. Counting Bits_比特位计数_简单动态规划
热门文章
- ubuntu的apt-get提示资源被锁定
- JSP页面中文乱码
- InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings In
- Spring Data JPA使用Sort进行排序(Using Sort)(转)
- 查看mysql日志
- 利用eChart绘制网页图表
- 怎么把本地的文件放到esxi主机上
- [hihoCoder] 骨牌覆盖问题·二
- php教程之php空白页的原因及解决方法
- SD卡WAV音乐播放器(quartus11.0)(FAT32)(DE2-115)