AngularJS: Servicio vs proveedor vs fábrica

¿Cuáles son las diferencias entre una Service, Providery Factoryen