Salut tout le monde !
Je me pose une question que je n'ai pas abordé jusqu'à présent dans mes projets Spring, et je vais vous l'exposer :
J'ai un projet "socle", qui contient des DAO et des objets métiers utilisant ces DAO. Je procède à l'injection des dépendances via Spring.
Maintenant, imaginons un projet qui utilise ce socle. Quelle est la meilleure solution entre "étendre les services" et "injecter les services" ?
Pour mieux comprendre ma question, qui je suis sûr est obscure comme un trou dans un mur des catacombes, voici une représentation plus "technique" :
Première méthode : étendre les services
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 // Dans le projet socle class TotoService { TotoDAO totoDAO; public void methodeA(objet) { // Utilise TotoDao, injecté totoDAO.insererObjet(objet); } }
Deuxième méthode : injecter les services
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 // Dans le projet A qui étend mon projet socle class TotoServiceProjetA extends TotoService { public void methodeB(objet) { traitementObjet(objet); methodeA(objet); } }
Dans un cas, on a un héritage, ce qui me parrait gênant, mais ça parrait propre conceptuellement. Dans le second cad, on a une injection, qui ne me choque pas..
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 // Dans le projet A qui récupère par injection la dépendance class TotoServiceProjetA { TotoService totoService; // Injecté par Spring public void methodeB(objet) { traitementObjet(objet); totoService.methodeA(objet); } }
Que feriez-vous à ma place ?
Merci pour les informations![]()
Partager