美文网首页
依赖注入

依赖注入

作者: 李霖弢 | 来源:发表于2020-08-26 11:10 被阅读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的桨  
       };
        
    }
    

    相关文章

      网友评论

          本文标题:依赖注入

          本文链接:https://www.haomeiwen.com/subject/uhlxsktx.html