美文网首页
依赖注入

依赖注入

作者: 小虫虫奇遇记 | 来源:发表于2020-11-14 20:10 被阅读0次

    What

    代理模式的一种应用:在A对象中需要创建另一个类B的实例;

    Why

    实现依赖项注入可为您带来以下优势:

    • 重用代码
    • 易于重构
    • 易于测试

    How

    • 接口注入
    //根据预先在配置文件中设定的实现类的类名,动态加载实现类,并通过InterfaceB 强制转型后为ClassA所用
    public class ClassA {
    private InterfaceB clzB;
    public init() {
        Ojbect obj =
        Class.forName(Config.BImplementation).newInstance();
        clzB = (InterfaceB)obj;
    }
    ……
    }
    
    • 构造器注入
    class Car {
    
        private final Engine engine;
    
        public Car(Engine engine) {
            this.engine = engine;
        }
    
        public void start() {
            engine.start();
        }
    }
    
    
    • 设置注入(Setter方法注入)
    //可通过修改传入Engine的实例( 比如Engine的子类等)实现不同的注入,而不用修改Car类。
    class Car {
    
        private Engine engine;
    
        public void setEngine(Engine engine) {
            this.engine = engine;
        }
    
        public void start() {
            engine.start();
        }
    }
    

    相关文章

      网友评论

          本文标题:依赖注入

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