Junior — Middle
Tot welk SOLID-principe behoort het gebruik van Dagger voor dependency injection?
sobes.tech AI
Antwoord van AI
Het gebruik van Dagger voor dependency injection is gerelateerd aan het Dependency Inversion Principle (D) uit SOLID.
Dit principe stelt dat:
- Hoog-niveau modules niet direct afhankelijk moeten zijn van laag-niveau modules.
- Beide moeten afhankelijk zijn van abstracties.
- Abstracties mogen niet afhankelijk zijn van details, details moeten afhankelijk zijn van abstracties.
Dagger helpt dit principe te implementeren door een mechanisme te bieden voor automatische dependency injectie via abstracties (interfaces of abstracte klassen), wat de koppeling tussen componenten vermindert en de testbaarheid en flexibiliteit van de code verhoogt.
Voorbeeld van het gebruik van Dagger:
@Component
interface AppComponent {
void inject(MyActivity activity);
}
class MyActivity {
@Inject
MyRepository repository;
void onCreate() {
DaggerAppComponent.create().inject(this);
repository.loadData();
}
}
Hier creëert MyActivity niet direct MyRepository, maar krijgt het via dependency injection, wat in overeenstemming is met het Dependency Inversion Principle.