anchor.diff:  }
   ----
   
  -Le principe de chaque dcorator est le même, chacun doit proposer une implémentation de la méthide "applyExpense". Il est noter que les cas choisis ne reflètent pas forcemment la réalité, mais servent juste d'exemple.
  -Une "garbage class" appelée Expenses contient des méthodes statiques permettant de calculer chaque cas. Nous monterons cette classe un peu plus tard.
  +Le principe de chaque decorator est le même, chacun doit proposer une implémentation de la méthode "applyExpense". Il est à noter que les cas choisis dans cet article pour représenter le bénéfice d'une entreprise ne reflètent pas forcemment la réalité, mais servent juste d'exemple.
  +Une "garbage class" appelée "Expenses" contient des méthodes "static" permettant de calculer chaque cas. Nous montrerons cette classe un peu plus tard.
   
   Nous allons désormais passer aux tests d'intégration et à l'appel des décorators. 
   
  
positive.code:   }
  ----
  
  Au niveau du client de l'API, nous avons la confirmation que le pattern est interéssant à utiliser de part sa souplesse et du fait qu'il est possible d'ajouter un nouveau calcul (ou dans un autre cas une nouvelle règle) juste en créant un nouveau décorator et sans casser tous la conception mise en place.
  
  Cependant nous constatons que la mise en place de ce patron de conception, est très verbeuse. Beaucoup de classes et de lignes de codes doivent être écrites pour mettre en place ce type de design de code. 
  De plus, le fait qu'il soit orienté héritage peut rendre sa compréhénsion compliquée. Tous ces éléments peuvent dissuader le développeur à mettre en place ce type de conception.
  
  Un des exemples de l'utilisation de ce pattern dans le JDK est la classe .....
  
  Nous allons voir dans la deuxième partie comment refaire le pattern decorator en Java 8 avec des lambdas et des fonctions; et de montrer que l'écriture est beaucoup plus simple et beaucoup moins verbeuse.
  
  == 2) Decorator en Java 8
  
  
negative.code: 
  Un calculateur de profit dispose d'une méthode abstraite "calculate", qui va appliquer un nouveau calcul au CA passé en paramètre.
  
  Ensuite une classe abstraite doit être créée (classe mère de chaque decorator), nous allons l'appeler AbstractProfitDecorator : 
  
  [source,java]
  ----
  