Services et Dependency Injection
Services, @Injectable, providedIn, dependency injection, hierarchical injectors, injection tokens, providers
1Qu'est-ce qu'un service dans Angular ?
Qu'est-ce qu'un service dans Angular ?
Réponse
Un service est une classe TypeScript décorée avec @Injectable qui encapsule une logique métier ou des données partagées. Les services suivent le principe de séparation des responsabilités en extrayant la logique réutilisable hors des composants. Ils peuvent être injectés dans d'autres classes grâce au système de dependency injection d'Angular, favorisant ainsi la modularité et la testabilité du code.
2Quel decorator permet de rendre une classe injectable dans Angular ?
Quel decorator permet de rendre une classe injectable dans Angular ?
Réponse
Le decorator @Injectable est obligatoire pour qu'une classe puisse être utilisée comme service dans le système d'injection de dépendances d'Angular. Ce decorator permet à Angular de générer les métadonnées nécessaires pour résoudre les dépendances du service. Sans @Injectable, le compilateur TypeScript ne conserverait pas les informations de types nécessaires à l'injection, causant des erreurs à l'exécution.
3Quelle est la syntaxe correcte pour créer un service basique ?
Quelle est la syntaxe correcte pour créer un service basique ?
Réponse
La syntaxe complète pour créer un service Angular inclut l'import du decorator Injectable depuis @angular/core, puis son application sur une classe avec l'option providedIn. Cette configuration moderne permet au service d'être automatiquement enregistré dans l'injector racine de l'application. L'option providedIn: 'root' est la meilleure pratique car elle permet le tree-shaking et garantit un singleton global.
Que signifie providedIn: 'root' dans @Injectable ?
Comment injecter un service dans un composant ?
+17 questions d'entretien
Autres sujets d'entretien Angular
Les bases de TypeScript
TypeScript avancé
Fondamentaux Angular
Composants et cycle de vie
Organisation des Modules Angular
Angular CLI
Directives et Pipes
Routing et Navigation
Formulaires réactifs
Formulaires template-driven
Fondamentaux RxJS
Opérateurs RxJS
HttpClient et API calls
Gestion d'état de base
Change Detection
Angular Signals
Standalone Components
Tests unitaires Angular
Tests end-to-end
Build et optimisation
Fondamentaux NgRx
NgRx avancé
Architecture Angular
Optimisation de performance
Sécurité et bonnes pratiques
Patterns RxJS avancés
Angular Universal et SSR
Micro-frontends Angular
Maîtrise Angular pour ton prochain entretien
Accède à toutes les questions, flashcards, tests techniques, exercices de code review et simulateurs d'entretien.
Commencer gratuitement