IOC控制反转,什么是IOC? 看完此文彻底就懂了!

      大多数的人在学习ioc的时候都是一脸蒙圈,什么是控制反转?很多作者讲的时候没有循环渐进,本来很简单的一个编程思想,听了半天彻底懵了,话不多说,咱们看代码,从小白到彻底明白IOC控制反转。

第一步:这是创建一个用户A,这个大家都能看懂吧,方法getUser()是为了获取自己的数据。这一步挺简单吧,咱们再看下一步跟这个一样简单

第二步:这是创建一个用户B,方法getUser()也是为了获取自己的数据。(这个大家应该也能看懂,跟第一步一样简单。)

 

    第三步: 好了到这一步咱们就把业务层的功能弄完了,什么是业务层,就是干活的层,就是具体去做事的层,咱们这做的事是"System.out.Println(获取用户数据)" 。就是一个控制台输出。这会可能有人会迷糊什么是控制台?哈哈,就是能输出结果的那个地方。好了,有人干活,咱们是不是需要一个控制层呢?什么是控制层?就是领导呗,给业务层发号施令的人,那  咱们写一个控制层的类:代码如下↓

这是让A干活:

这是让业务员B干活

上面的UserSerVice就是控制层,也就是领导,他自己比较懒,自己不屑写具体的逻辑,虽然只有一行"System.out.Println(获取用户数据)" 。

第四步:这是测试类,也就是用户你自己。现在你想看看他们的劳动成果。咱们代码这个行业里是不让用户和员工之间有联系的,那好吧这是规则,咱们都得遵守(这其实没有,我是为了让你更好的理解mvc,才这么讲的)getInfomation()方法里做了什么呢?其实就是领导拿员工的劳动来给用户你展示。领导只干了这个。

new 一个UserSerVice,调用getInfomation方法。
 

好了,到这一步。如果你看懂了的话,咱们就要稍微改动改动了,大家看到两个员工(UserA,UserB)是不是都干了一样的事啊?都是用了一个getUser()方法。

那咱们是不是可以面向接口编程呢?通俗点说就是:抽象出来一个接口,把这个getUser(),放在接口里。然后两个员工实现这个接口。改造如下:

然后咱们的控制层就可以这么写了:

用户这么调用:

第四步:也是最后一步,就是让用户来选择实现控制反转。:咱们发现在控制层,如果有多个员工咱们需要new多个对象,那是不是让用户很被动,怎么才能我想让哪个员工就用哪个员工呢?很好办,那就是在控制层写一个get()方法,咱们把员工作为形式参数传进去就能实现,用户我想调用哪个员工就用哪个员工。代码如下:

实现控制反转:

以上就是IOC控制反转。结束了。

手敲操作!欢迎指正!Q:919506728

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值