Sobes.tech
Junior — Middle

Σε ποιες περιπτώσεις συνιστάται η χρήση της σημείωσης @Inject για κατασκευαστές κατά τη χρήση του Dagger;

sobes.tech AI

Απάντηση από AI

Συνιστάται η εφαρμογή της σημείωσης @Inject στους κατασκευαστές στο Dagger όταν θέλετε το Dagger να δημιουργεί και να παρέχει αυτόματα στιγμιότυπα αυτής της κλάσης, διαχειριζόμενο τις εξαρτήσεις της.

Καταστάσεις για χρήση του @Inject στον κατασκευαστή:

  • Η κλάση αποτελεί εξάρτηση που πρέπει να ενέχεται σε άλλα συστατικά.
  • Ο κατασκευαστής δεν απαιτεί πρόσθετες παραμέτρους που δεν μπορούν να ληφθούν μέσω του Dagger.
  • Θέλετε το Dagger να δημιουργεί αυτόματα αντικείμενα χωρίς να χρειάζεται να γράψετε χειροκίνητα εργοστάσια ή modules.

Παράδειγμα:

public class UserRepository {
    private final ApiService apiService;

    @Inject
    public UserRepository(ApiService apiService) {
        this.apiService = apiService;
    }
}

Εδώ, το Dagger θα ξέρει πώς να δημιουργήσει το UserRepository, παρέχοντας αυτόματα το ApiService.