AngularJS
Distinguer Service vs Usine
Recherche…
Usine VS Service une fois pour toutes
Par définition:
Les services sont essentiellement des fonctions de constructeur. Ils utilisent le mot-clé 'this'.
Les usines sont des fonctions simples et renvoient donc un objet.
Sous la capuche:
Les usines appellent en interne la fonction de fournisseur.
Les services appellent en interne la fonction Usine.
Débat:
Les usines peuvent exécuter du code avant de retourner notre littéral d'objet.
Mais en même temps, les services peuvent également être écrits pour renvoyer un littéral d'objet et pour exécuter du code avant de retourner. Bien que cela soit contre-productif, les services sont conçus pour jouer le rôle de constructeur.
En fait, les fonctions de constructeur en JavaScript peuvent renvoyer ce qu'elles veulent.
Alors quel est le meilleur?
La syntaxe de constructeur des services est plus proche de la syntaxe de classe de ES6. La migration sera donc facile.
Résumé
Donc, en résumé, fournisseur, usine et service sont tous des fournisseurs.
Une fabrique est un cas particulier de fournisseur lorsque tout ce dont vous avez besoin dans votre fournisseur est une fonction $ get (). Il vous permet de l'écrire avec moins de code.
Un service est un cas particulier d'une fabrique lorsque vous souhaitez renvoyer une instance d'un nouvel objet, avec le même avantage d'écrire moins de code.