IoC to zasada, według której kontrola nad przepływem programu zostaje przekazana z wewnętrznych komponentów do zewnętrznego frameworka. Ułatwia to tworzenie modułowego kodu oraz jego testowanie.