AngularJS: O que é uma fábrica?
Eu tenho feito muito trabalho emAngular.js
e no geral eu acho que é um framework interessante e poderoso.
Eu sei que tem havido muitas discussões sobre Serviços vs. Fábricas vs. Provedores vs. Valores, mas eu ainda estou bem confuso sobre o que é umFactory
é.
Factory foi definido em outras discussões do StackOverflow como as seguintes:
Fábricas
Sintaxe:module.factory( 'factoryName', function );
Resultado: Ao declarar factoryName como um argumento injetável, você receberá o valor retornado, invocando a referência de função passada para module.factory.
Acho que essa explicação é muito difícil de entender e não aumenta minha compreensão do que é uma fábrica.
Alguém teria quaisquer explicações ou exemplos da vida real para compartilhar sobre o que exatamente umFactory
é e porque você deve usá-lo em vez de umService
, Provider
, ou outro?
A service
possui uma referência para qualquerobjeto.
A factory
é uma função que retorna qualquerobjeto
A provider
é uma função que retorna qualquerfunção
-ufa-