He estado trabajando mucho en él Angular.js
y, en general, me parece un marco interesante y poderoso.
Sé que ha habido muchas discusiones sobre servicios versus fábricas versus proveedores versus valores, pero todavía estoy bastante confundido acerca de qué Factory
es.
Factory se ha definido en otras discusiones de StackOverflow como lo siguiente:
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 entender y no aumenta mi comprensión de lo que es una fábrica.
¿A alguien le tiene ningún explicaciones o ejemplos de la vida real para compartir acerca de qué es exactamente una Factory
es y por qué se debe utilizar en lugar de una Service
,Provider
u otra?
Actualizar
A service
tiene una referencia a cualquier objeto .
A factory
es una función que devuelve cualquier objeto
A provider
es una función que devuelve cualquier función
- uf -
fuente
Factories
(citada anteriormente) era un poco confusa. Algunas de las respuestas a continuación se reducenFactories
a algo que incluso yo puedo entenderRespuestas:
Por lo que tengo entendido, todos son prácticamente iguales. Las principales diferencias son sus complejidades. Los proveedores se pueden configurar en tiempo de ejecución, las fábricas son un poco más robustas y los servicios son la forma más simple.
Consulte esta pregunta AngularJS: servicio vs proveedor vs fábrica
Además, esta esencia puede ser útil para comprender las sutiles diferencias.
Fuente: https://groups.google.com/forum/#!topic/angular/hVrkvaHGOfc
jsFiddle: http://jsfiddle.net/pkozlowski_opensource/PxdSP/14/
autor: Pawel Kozlowski
fuente
Provider > Factory > Service > Value
.Una gran diferencia que veo es que puede ejecutar código personalizado en la fábrica. Pero, en un servicio, solo ocurre la creación de objetos.
fuente
Mis dos centavos en este tema. Soy un novato y solo entiendo Angular JS y esta fue una de las cosas que me confundió mucho y, por lo tanto, lo estudié con algo de detalle. He estado tomando notas para dar entrevistas y esto puede ser útil para otros.
fuente
Los servicios son principalmente objetos en los que se describe la clase constructora del objeto. En algún lugar profundo del marco, se llama a la función Object.create () y luego puede usar un servicio llamando a su objeto y métodos usando un controlador. Factory, por otro lado, no crea un objeto de forma predeterminada y, por lo tanto, requiere que devuelva la ubicación completa del objeto una vez que haya terminado de definir todos los atributos y métodos.
fuente