services, factories and providers en Angular moderno
service, factory y provider pasan a ser una sola cosa: una clase marcada con @Injectable.
Antes · AngularJS
app.factory('UserService', function ($http) {
return {
getAll: function () { return $http.get('/api/users'); }
};
});Después · Angular@Injectable({ providedIn: 'root' })
export class UserService {
private http = inject(HttpClient);
getAll() {
return this.http.get<User[]>('/api/users');
}
}Qué cambia
- providedIn: 'root' registra el servicio una vez para toda la app, como los singletons de AngularJS.
- Las dependencias se piden con inject() y las revisa TypeScript.
- constant y value pasan a ser injection tokens o constantes exportadas.
Consejo de migración. Los servicios son un buen lugar para empezar. Reescribe uno en Angular, haz downgrade, y las pantallas legacy lo siguen usando sin notar el cambio.
Relacionado
¿Planeas una migración o una plataforma de microfrontends?
En una llamada de 20 minutos me cuentas tu situación y te digo cómo la abordaría. Si todavía no vale la pena, también te lo digo.
Escríbeme por LinkedIn