J'ai fait beaucoup de travail Angular.js
et dans l'ensemble, je trouve que c'est un framework intéressant et puissant.
Je sais qu'il y a eu beaucoup de discussions sur les services contre les usines, les fournisseurs et les valeurs, mais je suis encore assez confus sur ce qu'est un Factory
.
L'usine a été définie dans d'autres discussions StackOverflow comme suit:
Des usines
Syntaxe: module.factory( 'factoryName', function );
Résultat: Lorsque vous déclarez factoryName comme argument injectable, la valeur renvoyée vous sera fournie en appelant la référence de fonction transmise à module.factory.
Je trouve cette explication très difficile à saisir et cela n'améliore pas ma compréhension de ce qu'est une usine.
Would Quelqu'un at- il des explications ou des exemples de la vie réelle à part sur ce qu'est exactement un Factory
et pourquoi vous devez l' utiliser au lieu d'un Service
, Provider
ou d'une autre?
Mettre à jour
A service
contient une référence à n'importe quel objet .
A factory
est une fonction qui renvoie n'importe quel objet
A provider
est une fonction qui renvoie n'importe quelle fonction
- ouf -
la source
Factories
(citée ci-dessus) était un peu déroutante. Certaines des réponses ci-dessous se réduisentFactories
à quelque chose que même je peux comprendreRéponses:
D'après ce que je comprends, ils sont tous à peu près les mêmes. Les principales différences sont leurs complexités. Les fournisseurs sont configurables au moment de l'exécution, les usines sont un peu plus robustes et les services sont la forme la plus simple.
Consultez cette question AngularJS: Service vs fournisseur vs usine
Cet élément essentiel peut également être utile pour comprendre les différences subtiles.
Source: https://groups.google.com/forum/#!topic/angular/hVrkvaHGOfc
jsFiddle: http://jsfiddle.net/pkozlowski_opensource/PxdSP/14/
auteur: Pawel Kozlowski
la source
Provider > Factory > Service > Value
?Une différence majeure que je vois est que vous pouvez exécuter du code personnalisé en usine. Mais, dans un service, seule la création d'objet se produit.
la source
Mes deux cents sur ce sujet. Je suis un très très débutant et je comprends juste Angular JS et c'est l'une des choses qui m'a beaucoup dérouté et je l'ai donc étudié en détail. J'ai pris des notes pour donner des interviews et cela peut être utile à d'autres.
la source
Les services sont principalement des objets dans lesquels vous décrivez la classe de constructeur de l'objet. Quelque part au plus profond du cadre, la fonction Object.create () est appelée et vous pouvez ensuite utiliser un service en appelant son objet et ses méthodes à l'aide d'un contrôleur. Factory, par contre, ne crée pas d'objet par défaut et vous oblige donc à renvoyer l'emplacement de l'objet entier une fois que vous avez défini tous les attributs et méthodes.
la source