Dependency injection

Қазақ Энциклопедиясы жобасынан алынған мәлімет
Мұнда ауысу: шарлау, іздеу

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


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

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


<source lang="java">

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

} </source>

Сілттемелер

<references/>