8. DOMAIN
MODULE
ROUTING
MODULE
CORE
MODULE
Import unique dans app.module
Mettre tout les .forRoot() des modules tierce
SHARED
MODULE
Import dans tout les features modules
Composants et module partagés par les features modules
FEATURE
MODULE
Généralement attaché directement au app.module ou
indépendant par lazy-loading
Gère toute une partie de l’application : interface +
échange de donnée. ex : les commandes de produits
Commun à quelques features modules
Module en charge d’une fonctionnalité particulière qui
regroupe plusieurs components, services…
Module chargé de la déclaration des routes
Attaché à un feature module, optionnel, le forRoot doit
être dans le CoreModule
9. COMPONENT
CONTAINER
Composant chargé de récupérer et diffuser
la donnée dans les autres sous-composants
En relation avec le state-management ou les
services, pas d’input/output
Composant pouvant être utiliser dans
plusieurs application différentes
Ils ne demandent jamais la donnée
directement, ils ont des input et output pour les
événements à envoyer au composant parent
10. import { Component, OnInit, ChangeDetectionStrategy } from
'@angular/core';
import { Observable } from ‘rxjs';
import { FeatureService } from ‘../../services/feature.service';
import { Users } from '../../models/jsonpldr.model';
@Component({
…
})
export class Container1Component implements OnInit {
users$: Observable<Users>;
constructor(private api: FeatureService) {}
ngOnInit() {
this.users$ = this.api.getUsers();
}
CONTAINER
41. Pour aller plus loin
• https://github.com/ngrx/platform - State management - Redux pattern
• https://docs.nestjs.com/ - Nodejs framework inspiré par Angular
• https://www.apollographql.com/ - GraphQL client pour angular et bien
d’autres
• http://reactivex.io/rxjs/manual/overview.html#choose-an-
operator - Aide interactive pour choisir le bon operator Rxjs
• angular universal / angular PWA / angular Element /
Electron / Cordova /Capacitor
42. MERCI
A bientôt !
Thibault Even - Expert Angular
@thibault_ev
www.linkedin.com/in/thibault-even-543b3520