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