Tenho trabalhado muito Angular.jse, 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, Providerou 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 reduzemFactoriesa algo que até eu consigo entender