Dependency injection

Dependency injection (; ) - бағдарламалық жасақтама өңдеу үлгісі (ағылш. software design pattern), өзге үлгілерден айырмашылығы бағдарламалық жасақтама орындалу барысында қолданатын компоненттерді таңдауы компиляция уақытында емес run-time уақытында іске асады.

Қолдан енгізілген иньекция

Бұл мысалда, MyApplication.main() тәуелділік иньекциясы рөлін атқарады, VerySimpleStockTraderImpl кодында жазылған тәуелділіктердің іске асырылған кодын constructor injection арқылы иньекциялайды.

public class VerySimpleStockTraderImpl implements IAutomatedStockTrader {
    private IStockAnalysisService analysisService;
    private IOnlineBrokerageService brokerageService;

    public VerySimpleStockTraderImpl(
            IStockAnalysisService analysisService,
            IOnlineBrokerageService brokerageService) {
        this.analysisService = analysisService;
        this.brokerageService = brokerageService;
    }
    public void executeTrades() {
        …
    }
}

public class MyApplication {
    public static void main(String[] args) {
        IStockAnalysisService analysisService = new StockAnalysisServiceImpl();
        IOnlineBrokerageService brokerageService = new NewYorkStockExchangeBrokerageServiceImpl();

        IAutomatedStockTrader stockTrader = new VerySimpleStockTraderImpl(
            analysisService,
            brokerageService);
        stockTrader.executeTrades();
    }
}

Сілттемелер

Санат:Java
Санат:Компонент
Санат:Бағдарламалық жасақтама