依赖注入

2020-08-26  本文已影响0人  李霖弢

当一个类A的实现需要借助另一个类B时,称为B是A的依赖,如果在A的内部去实例化B,则AB之间耦合过高,当B需要调整时也需要对A进行调整,程序难以维护。
要解决这个问题,就要把A类对B类的控制权抽离出来,交给一个第三方去做,把控制权反转给第三方,就称作"控制反转"。依赖注入是控制反转的一种典型实现方法,由第三方(IOC容器)来控制依赖,把他通过构造函数、属性或者工厂模式等方法,注入到类A内,对类A和类B进行了解耦。

class Chuan{
  Jiang j ;
  public Chuan(Jiang j){
       this.j = j;
  };
}
class Factory {
   /**
    * 通过msg来确定你要什么长度颜色大小。工厂出一套规范。之后约束拓展在此类就可以进行
    **/
    public Jiang getJiang(String msg){
     if(msg="10"){
       return new Jiang(10) 
     }else if(msg="red"){
       return new Jiang("red") 
     };
    };
   
}

class Chuan {
    Jiang j ;
     void run(){
      Factory h = new Factory();
      j=h.getJiang(“red“); //得到了红色的桨
      j=h.getJiang(“10“); //得到长度10的桨  
   };
    
}
上一篇下一篇

猜你喜欢

热点阅读