Las factorías son un tipo de servicio en Angular, con el que podemos implementar librerías de funciones o almacenar datos. Está se inyecta en cualquier componente (controlador, servicio, filtro o directiva) que especifica una dependencia en el.
Son como contenedores de código.
A diferencia de los controladores, las factorías son instanciadas una única vez (usando el patrón "Singleton"), por lo que podemos almacenar datos en nuestra aplicación, a lo largo de diversas vistas.