Junior — Middle
Na koji princip SOLID se odnosi korišćenje Dagger-a za ubrizgavanje zavisnosti?
sobes.tech АИ
Одговор од АИ
Upotreba Dagger-a za ubrizgavanje zavisnosti odnosi se na princip Princip inverzije zavisnosti (D) iz SOLID-a.
Ovaj princip kaže da:
- Moduli višeg nivoa ne bi trebalo da zavise direktno od modula nižeg nivoa.
- Oba treba da zavise od apstrakcija.
- Apstrakcije ne bi trebalo da zavise od detalja, detalji treba da zavise od apstrakcija.
Dagger pomaže u implementaciji ovog principa pružajući mehanizam za automatsko ubrizgavanje zavisnosti putem apstrakcija (interfejsa ili apstraktnih klasa), čime se smanjuje povezanost komponenti i povećava testabilnost i fleksibilnost koda.
Primer korišćenja Dagger-a:
@Component
interface AppComponent {
void inject(MyActivity activity);
}
class MyActivity {
@Inject
MyRepository repository;
void onCreate() {
DaggerAppComponent.create().inject(this);
repository.loadData();
}
}
Ovde, MyActivity ne kreira MyRepository direktno, već ga dobija putem ubrizgavanja zavisnosti, što je u skladu sa principom inverzije zavisnosti.