web-dev-qa-db-fra.com

Fournisseur vs. get_it

Recherche de solutions d'injection de dépendance pour le flutter, j'ai trouvé deux bibliothèques géniales: provider et get_it.

Autant que je puisse voir, provider a plus de chaudière, mais il convient vraiment bien avec le flutter, permettant à Consumer _ de reconstruire des parties de l'arborescence Widget _ Changement de valeur injectée.

get_it D'autre part est plus simple, plus facile à utiliser, et non dépendant du flotteur, peut donc être utilisé avec n'importe quel code de dard.

Y a-t-il plus de différences et de limitations entre eux? Je sais que c'est un peu d'opinion, mais le flutter est tellement nouveau qu'il est bon d'enregistrer des avantages publiques, des effets secondaires et des gotchas.

21
Michel Feinstein

Obtenez ce n'est pas une solution d'injection de dépendance mais un localisateur de services.

C'est utile si vous souhaitez basculer rapidement entre deux ou plusieurs implémentations d'une classe. Par exemple, se moquer d'un service et changez entre le service "réel" ou le faux (pour le débogage).

En effet, il ne peut pas récupérer/fournir une référence à un objet existant (exception est pour Singleton, mais vous pouvez faire la même chose par vous-même sans effort de plus en plus) et ne peut fournir que de nouveaux objets.

0
iko