article(s) dans votre panier VOIR

Programmation par contrat avec Spring pour Java

  • Vidéo 15 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
Programmation par contrat
00:00 / 03:21
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

Il va tout d'abord être nécessaire d'adapter le code existant de manière à créer une abstraction (Interface ou classe Abstraite) des implémentations existantes, c'est la programmation dite par contrat.

package com.mycompany.service;
...
public interface FactureServiceInterface {
                public Facture createFacture(Facture facture);
                public Avoir createAvoirOnFacture(Facture facture);
}

public class FactureService1 implements FactureServiceInterface{
                private static int counter = 1;
                @Override
                public Facture createFacture(Facture facture) {
                   facture.setNumero(counter++);
                   return facture;
                }
                @Override
                public Avoir createAvoirOnFacture(Facture facture) {
                   Avoir newAvoir = ...;
                   return newAvoir;
                }
...

Le composant qui exploite le service (souvent le Controller) ne fera désormais plus référence explicite à une implémentation


public class FactureController {
                private FactureServiceInterface fs;
                public void createFactureFromConsoleInput(){
                   Facture fact=new Facture();
                   ...
                   fact=fs.createFacture(fact);
                   System.out.println("La facture "+fact.getNumero()+" à été créée");
                }
                ...
}

L'instrumentation aura pour effet de valoriser le contrat par une instance concrète de l'interface ou la classe abstraite