IOC我的理解

IOC

1.  Ioc 是什麼?

看過不少的博客,都在解釋着一個名詞,控制反轉,可是什麼是控制反轉,又有解釋爲控制的權利交給了容器處理,無論怎麼解釋,總以爲仍是不清不楚的,比較晦澀難懂.而IOC確實包含了不少的東西,涉及到了代碼解耦,設計模式,代碼優化等問題.spring

Ioc和new 出一個新的對象有什麼區別呢??這個一直我不是很理解,看了很久的書,對此有了模糊的理解,ioc是new對象的昇華,ioc建立的實例是運行時期才能夠肯定是哪一個對象,這樣就增長了編程的靈活性.編程

2.  實例對比

在spring3.x實戰中獲得的例子.設計模式

1.       以前的寫法優化

    Public Class MoAttack{this

        LiuDeHua ldh=new LiuDeHua();
    }spa

         直接寫出演員對象,可是這樣耦合過緊,要是臨時更換演員呢??設計

2.       改進以後對象

    Public Class MoAttack{接口

        GeLi geli=new LiuDeHua();ci

        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("墨者革離");

  }

}

相關文章
相關標籤/搜索