ALOM

UBER

Un micro-service c'est :

  • Un ensemble de fonctionnalités du même domaine métier
  • Un ou plusieurs canaux de communication
    • HTTP - REST/JSON
  • Une source de données dédiée

🔎 un micro-service Java

On s'appuie sur les technologies connues: les servlets !

💉 Dependency injection

🚗 un morceau d'UBER

🏗️ La vision architecture

🤔 Le code du NotificationService

❓ Quel est le problème de ce code?

👮 S.O.L.I.D principles

  • S : Single Responsability
  • Une classe doit avoir une seule responsabilité
  • O : Open/Closed
  • Ouvert à l'extension, mais fermé à la modification
  • L : Liskov Substitution
  • Pouvoir utiliser un sous-type
  • I : Interface Segregation
  • Présenter plusieurs interfaces spécifiques
  • D : Dependency Inversion
  • Dépendre d'abstractions, et non d'implémentations

👮 Is it S.O.L.I.D ?

S
O
L
I
D

🚑 Refactoring !

S
O
L
I
D

ℹ️

Rendre notre code S.O.L.I.D :

  • Le rend testable
  • Le rend compatible avec de l'injection de dépendances

💉 Injection de dépendance

Laisser la plateforme fournir les dépendances:

  • En fonction du contexte
  • En fonction des composants disponibles

Nécessite des efforts de conception objet!

💉 Injection de dépendances avec

💉 Injection de dépendances

3 moyens :
  • Par le construteur (recommandé)
  • Par les setters (bof, non-immutable)
  • Par les attributs de classe (déconseillé)

TP

Jouer avec spring-boot !

Fin du cours

Cours suivant :
Persistance des données avec JPA