Lors que les termes Injection de dépendances sont cités, deux projets sont souvent pointés du doigts : Spring et Guice.
Le premier est Spring Framework qui à largement contribué à la popularisation de ce concept. Le principe original de celui-ci était de créer des POJOs, et de lier ceux-ci via un fichier XML.
L'intérêt premier était que les classes était très peu liées ni même au framework Spring.
Quelques temps plus tard, Google Guice est arrivé avec une autre technique.
Le(s) fichier(s) XML devenant parfois très long, et n'était pas directement géré par les outils de refactoring, un sytème d'injection basé sur des annotations fut préféré par Google.
Ce système gagna un certains succès, et SpringSource à donc repris l'idée en proposant un set d'annotations aussi pour gérer les dépendances.
Que l'on aime ou pas les annotations, elles ont un gros défaut : elles lient directement le code métier au framework d'injection de dépendances !
Afin de résoudre ce problème, les deux Gurus ont décidé de travailler ensemble sur une nouvelle JSR pour standardiser l'injection de dépendance.
Pour l'instant, cette JSR ne comporte qu'un jeu très restreint d'annotation :
Je trouve cette initiave intéressante, mais il faut encore voir quelles fonctionnalités des frameworks seront mis en place dans cette JSR.
Spring, et certainement Guice, proposent plus que de l'injection de dépendance ( AOP, gestion des transaction, ... ).
Si la JSR se limite à l'injection, on finira tout de même par utilisé des fonctions propres à l'implementation .. et donc le code ne sera de nouveau liés à un framework.
Plus d'information :
Blog Google
Blog de Nicolas De Loof
Draft de la spécification
Vous devez être identifié pour poster un commentaire.
Copyright © 2000-2012 - www.developpez.com