JAVA菜鸟学习日记——简单代码实现IOC控制反转

本文介绍了JAVA菜鸟在学习IOC(控制反转)过程中的理解,通过一个简单的代码示例阐述了IOC的概念,强调了解耦和模块化调试的优势。文中提到,这种思想在安卓开发中常见,例如使用按钮的匿名内部类实现。代码示例展示了如何定义被注入依赖的类以及对外接口,通过设置不同的实现类,实现了依赖对象的动态注入,展现了JAVA的多态特性。
摘要由CSDN通过智能技术生成

题记:纯菜鸟,也在慢慢学习中。博客更主要是为了博主自己日后回顾复习,当然也欢迎大家指正。


原来校招时候,面试各种JAVA后台的时候刷过一道题——


思考:写段代码实现控制反转

当时的感觉自然是一脸懵逼——额,我连题目都闹不明白呢,咋实现呢?


先说控制反转,面试的时候我应该会blabla地扯一大堆:

【我是答案,不标准但差不多是这个意思】所谓控制反转,就是由其他外部实体将原来控制主体需要的成员等信息生成好提供给他,而不再是简单地去持有依赖对象的引用。主体对原来的内部对象不再由其静态地了解,而是由外部实体将依赖对象注入或者说提供给这个主体。显然,主体只需要自己需要什么类型的成员就可以了,至于具体依赖的是谁,不需要自己知道。 为什么这么做呢?直观地一点就是充分解耦,注入的对象的生命周期不再由控制主体决定了。

当然解耦不是说没耦合,你毕竟用到了其余的对象,还是相互联系的,只是这种静态关系变成动态的了,因为是函数运行时候注入的嘛,原来可是没关系的。另一点就是更加利于模块化调试了。你用不到这个依赖对象的时候,依赖对象实现的代码理论上随便改,可以热插拔,具体用到的时候再去提供给他就好。


学习完了这周我易的课程之后,根据老师所讲的“控制反转”一节有了一点思路和新的认识:
核心思想在于正常控制的主体(假设是A)不具有具体实例
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值