AngularJS
Servicio Distinguido vs Fábrica
Buscar..
Factory VS Service una vez por todas
Por definición:
Los servicios son básicamente funciones de constructor. Utilizan la palabra clave 'this'.
Las fábricas son funciones simples por lo tanto devuelven un objeto.
Bajo el capó:
Fábricas llamadas internamente a la función del proveedor.
Servicios de llamadas internas a función de fábrica.
Debate:
Las fábricas pueden ejecutar código antes de que devolvamos nuestro objeto literal.
Pero al mismo tiempo, los Servicios también se pueden escribir para devolver un objeto literal y para ejecutar código antes de regresar. Aunque eso es contraproducente ya que los servicios están diseñados para actuar como una función constructora.
De hecho, las funciones de constructor en JavaScript pueden devolver lo que quieran.
¿Entonces cual es mejor?
La sintaxis de servicios del constructor es más cercana a la sintaxis de clase de ES6. Así que la migración será fácil.
Resumen
Entonces, en resumen, el proveedor, la fábrica y el servicio son todos proveedores.
Una fábrica es un caso especial de un proveedor cuando todo lo que necesita en su proveedor es una función $ get (). Te permite escribirlo con menos código.
Un servicio es un caso especial de una fábrica cuando desea devolver una instancia de un nuevo objeto, con el mismo beneficio de escribir menos código.