Services & Dependency Injection
Services, @Injectable, providedIn, dependency injection, hierarchical injectors, injection tokens, providers
1Cos'è un service in Angular?
Cos'è un service in Angular?
Risposta
Un service è una classe TypeScript decorata con @Injectable che incapsula logica di business o dati condivisi. I service seguono il principio della separazione delle responsabilità estraendo la logica riutilizzabile dai componenti. Possono essere iniettati in altre classi grazie al sistema di dependency injection di Angular, favorendo la modularità e la testabilità del codice.
2Quale decorator rende una classe injectable in Angular?
Quale decorator rende una classe injectable in Angular?
Risposta
Il decorator @Injectable è obbligatorio affinché una classe possa essere utilizzata come service nel sistema di dependency injection di Angular. Questo decorator permette ad Angular di generare i metadati necessari per risolvere le dipendenze del service. Senza @Injectable, il compilatore TypeScript non manterrebbe le informazioni sui tipi necessarie per l'injection, causando errori a runtime.
3Qual è la sintassi corretta per creare un service di base?
Qual è la sintassi corretta per creare un service di base?
Risposta
La sintassi completa per creare un service Angular include l'importazione del decorator Injectable da @angular/core, quindi la sua applicazione a una classe con l'opzione providedIn. Questa configurazione moderna registra automaticamente il service nell'injector radice dell'applicazione. L'opzione providedIn: 'root' è la best practice poiché abilita il tree-shaking e garantisce un singleton globale.
Cosa significa providedIn: 'root' in @Injectable?
Come iniettare un service in un componente?
+17 domande da colloquio
Altri argomenti di colloquio Angular
Fondamenti di TypeScript
TypeScript Avanzato
Fondamenti di Angular
Componenti e ciclo di vita
Organizzazione dei moduli Angular
Angular CLI
Direttive e Pipe
Routing e Navigazione
Form reattivi
Form template-driven
Fondamenti di RxJS
Operatori RxJS
HttpClient e chiamate API
Gestione dello stato di base
Change Detection
Angular Signals
Standalone Components
Test unitari in Angular
Testing End-to-End
Build e ottimizzazione
Fondamenti di NgRx
NgRx avanzato
Architettura Angular
Ottimizzazione delle performance
Sicurezza e best practice
Pattern RxJS avanzati
Angular Universal e SSR
Micro-frontend Angular
Padroneggia Angular per il tuo prossimo colloquio
Accedi a tutte le domande, flashcards, test tecnici, esercizi di code review e simulatori di colloquio.
Inizia gratis