AngularJS: ¿Qué es una fábrica?

He estado trabajando mucho enAngular.js y en general me parece un marco interesante y poderoso.

Sé que ha habido muchas discusiones sobre Servicios vs. Fábricas vs. Proveedores vs. Valores, pero todavía estoy bastante confundido acerca de quéFactory es.

La fábrica se ha definido en otras discusiones de StackOverflow como las siguientes:

Suerte

Sintaxis:module.factory( 'factoryName', function ); Resultado: Al declarar factoryName como un argumento inyectable, se le proporcionará el valor que se devuelve al invocar la referencia de función pasada a module.factory.

Encuentro que esta explicación es muy difícil de comprender y no aumenta mi comprensión de lo que es una fábrica.

¿Alguien tendría alguna explicación o ejemplo de la vida real para compartir sobre qué es exactamente unaFactory es y por qué debería usarlo en lugar de unaService, Provider, ¿u otro?

Actualizar

A service tiene una referencia a cualquierobjeto.

A factory es una función que devuelve cualquierobjeto

A provider es una función que devuelve cualquierfunción

-Uf-

Respuestas a la pregunta(4)

Su respuesta a la pregunta