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();
    }
}

Сілттемелер өңдеу