Junior — Middle
Izskaidrojiet vadības inversijas principu ar piemēru taksometra izsaukšanas sistēmas.
sobes.tech AI
Atbilde no AI
Vadības inversija (IoC) ir princips, saskaņā ar kuru objektu izveides un sasaistes pārvaldība tiek nodota ārējam konteineram vai ietvaram, nevis tiek īstenota tieši kodā.
Piemērs taksometra izsaukšanas sistēmā:
- Tā vietā, lai
TaxiServiceklase pati veidotuDrivervaiCarobjektus, šīs atkarības tiek nodotas no ārpuses (piemēram, caur konstruktoru). - IoC konteineris ir atbildīgs par visu objektu izveidi un sasaisti.
public class TaxiService {
private Driver driver;
// Atkarība tiek nodota no ārpuses
public TaxiService(Driver driver) {
this.driver = driver;
}
public void callTaxi() {
driver.driveToCustomer();
}
}
Šeit TaxiService neizveido Driver pats, bet to saņem no ārpuses. Tas atvieglo testēšanu, paplašināšanu un koda uzturēšanu, jo atkarības var mainīt bez paša klases maiņas.