Tenho trabalhado muito Angular.js
e, no geral, acho que é uma estrutura interessante e poderosa.
Eu sei que tem havido muitas discussões sobre Serviços vs. Fábricas vs. Provedores vs. Valores, mas ainda estou muito confuso sobre o que Factory
é.
Factory foi definido em outras discussões StackOverflow como o seguinte:
Fábricas
Sintaxe: module.factory( 'factoryName', function );
Resultado: Ao declarar factoryName como um argumento injetável, você receberá o valor que é retornado ao invocar a referência de função passada para module.factory.
Acho essa explicação muito difícil de entender e não aumenta minha compreensão do que é uma fábrica.
Será que alguém tem nenhum explicações ou exemplos da vida real para compartilhar sobre o que exatamente um Factory
é e por que você deve usá-lo em vez de um Service
, Provider
ou outro?
Atualizar
A service
contém uma referência a qualquer objeto .
A factory
é uma função que retorna qualquer objeto
A provider
é uma função que retorna qualquer função
- ufa -
Factories
(citado acima) foi um pouco confusa. Algumas das respostas abaixo se reduzemFactories
a algo que até eu consigo entender