Principii și arhitectură / Injectarea dependențelor
Rădăcina compoziției
Note originale de SunDiaL · Vezi sursa în engleză
Aplicând injectarea dependențelor tuturor claselor și extrăgând dependențele în sus, vei ajunge în cele din urmă într-un punct în care nu mai există un „mai sus”: ai ajuns la capătul lanțului. Aici se conectează toate dependențele, iar locul se numește rădăcina compoziției (Composition Root).
De obicei se află lângă punctul de pornire al aplicației sau chiar în el.
După ce totul este conectat în rădăcina compoziției, apare o întrebare: cât timp ar trebui să existe fiecare dependență?
Gestionarea manuală a dependențelor este deja destul de complicată; dacă adăugăm și gestionarea duratei lor de viață, codul va deveni foarte greu de citit și urmărit. Prin urmare, aplicăm indirecția și extragem toată această logică într-o clasă dedicată, numită container de injectare a dependențelor.