Skip to content

cdhdt/partiel-design-pattern

Repository files navigation

Partiel design pattern

App en TS pour impressions de doc officiels (CNI, Passeport, Carte Vitale) avec design patterns.

Installation

bun install | npm install

Lancement

bun app | npm run app

Design patterns utilisés

Template Method — DocumentAImprimer.ts

Coeur de l'app, Template Method définit le squelette de l'algorithme d'impression, peu d'autre choix dans ce cas de figure.

Adapter — CarteVitaleAdapter.ts

Pas possible de modifier le code source CPAM, on adapte donc CarteVitaleCpam pour qu'il implémente l'interface commune IDocumentImprimable.

Factory — DocumentFactory.ts

L'app n'instancie jamais directement CniDocument/PasseportDocument/CarteVitaleDocument tout passe par creerDocument(type, personne),de facon centralisé.

Dependency Injection — Imprimante.ts

L'imprimante ne devant rien connaitre du métier , elle est injectée dans les documents à imprimer. Cela permet de changer facilement d'imprimante.

Exemple de sortie console

--- Début de l'impression : CNI ---
Récupération des informations...
[CNI] Récupération des informations de CLEM DHDT...
Préparation des encres...
[Imprimante] Préparation encre (securisee)...
Vérification de la présence de papier...
[Imprimante] Vérification papier (format carte)...
Impression...
[Imprimante] Impression en cours (format: carte, encre: securisee)...
Découpe...
[Imprimante] Découpe au format carte...
specifique : plastification...
[CNI] Plastification de la carte...
--- Fin de l'impression : CNI ---
--- Début de l'impression : Carte Vitale ---
Récupération des informations...
[CPAM] Récupération du dossier de CLEM DHDT...
Préparation des encres...
[Imprimante] Préparation encre (couleur)...
Vérification de la présence de papier...
[Imprimante] Vérification papier (format carte)...
Impression...
[Imprimante] Impression en cours (format: carte, encre: couleur)...
Découpe...
[Imprimante] Découpe au format carte...
specifique : finalisation de la carte...
[CPAM] Finalisation de la carte Vitale...
--- Fin de l'impression : Carte Vitale ---
--- Début de l'impression : Passeport ---
Récupération des informations...
[Passeport] Récupération des informations de CLEM DHDT...
Préparation des encres...
[Imprimante] Préparation encre (securisee)...
Vérification de la présence de papier...
[Imprimante] Vérification papier (format livret)...
Impression...
[Imprimante] Impression en cours (format: livret, encre: securisee)...
Découpe...
[Imprimante] Découpe au format livret...
specifique : reliure...
[Passeport] Reliure du livret...
--- Fin de l'impression : Passeport ---

Critere d'evaluation

  • Respect des besoins fonctionnels
  • Pertinence des design patterns utilisés
  • Qualité de l'implémentation
  • Organisation et lisibilité du code
  • respect des principes de concerption orientée objet

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages