IOC个人理解

IOC

1.  Ioc 是什么?

看过很多的博客,都在解释着一个名词,控制反转,但是什么是控制反转,又有解释为控制的权利交给了容器处理,不管怎么解释,总觉得还是不清不楚的,比较晦涩难懂.而IOC确实包含了很多的东西,涉及到了代码解耦,设计模式,代码优化等问题.

Ioc和new 出一个新的对象有什么区别呢??这个一直我不是很理解,看了好久的书,对此有了模糊的理解,ioc是new对象的升华,ioc创建的实例是运行时期才可以确定是哪个对象,这样就增加了编程的灵活性.

2.  实例对比

在spring3.x实战中得到的例子.

1.       之前的写法

    Public Class MoAttack{

        LiuDeHua ldh=new LiuDeHua();
    }

         直接写出演员对象,但是这样耦合过紧,要是临时更换演员呢??

2.       改进之后

    Public Class MoAttack{

        GeLi geli=new LiuDeHua();

        geli.reponseAsk(“”);

    }

         通过接口,这样还是具有很深的耦合.我们的目的是,具体的演员和剧本无关,我可以随时随地的换演员.导演最大,

3.       控制反转

1.       控制

2.       反转

public class MoAttack implements ActorArrangable {

  private GeLi geli;

 

  public void injectGeli(GeLi geli) {

     this.geli = geli;   

}

 

  public void cityGateAsk() {

     geli.responseAsk("墨者革离");

  }

}

 

转载于:https://my.oschina.net/u/2615530/blog/799742

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值