article(s) dans votre panier VOIR

Configuration de l'architecture du framework Spring pour Java

  • Vidéo 14 sur 64
  • 3h47 de formation
  • 64 leçons

Un contenu flash devrait s'afficher ici. Votre navigateur ne comporte pas de plugin flash, ou il ne s'est pas correctement initialisé.

Vous pouvez télécharger le plugin flash depuis le site d'Adobe à l'adresse suivante : http://get.adobe.com/flashplayer/.

Pour accéder à la suite de cette formation, vous devez vous abonner.
previous
summary
resume
next
play
Configuration de l'architecture
00:00 / 05:05
HD
fullscreen
Je m’abonne
à partir de 16,6 € / mois
  • Visionnage en ligne
  • Accès illimité à toutes nos formations
OU
J'achète uniquement
la formation
29,90€
  • Téléchargement + VOD à vie
  • Exercice / Validation des acquis
  • Accès uniquement à cette formation

Sommaire de la formation

Détails de la formation

Reprenons le service de facturation.

Certains clients de votre application vous demandent de produire des numéros de factures avec un pas de 10.

D'autres clients vous demandent de produire des numéros de factures au format alphanumérique FACT_Numéro.

D'autres encore vous demandent de pouvoir récupérer ce numéro d'un système externe (ERP par exemple)

Plusieurs solutions s'offrent à vous, l'une d'entre-elle va nous intéresser tout particulièrement pour la suite :

Créer différentes implémentations de services

On ajoutera autant de classes de Services qu'il existe de spécificités

Pour permettre l'utilisation de plusieurs implémentations en fonction du contexte, on pourrait exploiter un paramètre de configuration (d'où provient ce paramètre a peu d'importance ici) :

 

public class FactureController {
   ...
   public void createFactureFromConsoleInput(){
                               Facture fact=new Facture();
                               ...
                               if (param==1){
                                   FactureService1 fs=new FactureService1();
                                   fact=fs.createFacture(fact);
                               }
                               else if (param==2){
                                   FactureService2 fs=new FactureService2();
                                   fact=fs.createFacture(fact);
                               }
                               else{
                                   FactureService3 fs=new FactureService3();
                                   fact=fs.createFacture(fact);
                               }
                               System.out.println("La facture "+fact.getNumero()+" à été créée");
   }          
}

 

Cette solution engendre des contraintes significatives, chaque nouvelle spécificité client demande : la modification du code existant la recompilation du code et le plus gênant, une montée de version ce qui implique généralement un redéploiement chez l'ensemble des clients

Alors quelle est la solution ? C'est ici que l'on introduit la notion de configuration de l'architecture applicative.

Il va s'agir d'améliorer la solution précédente en procédant à l'instrumentation du code

Cette technique va permettre d'indiquer par simple configuration quelle implémentation doit être utilisée selon le contexte

Il ne sera plus nécessaire de modifier le code existant à chaque nouvelle implémentation