L’inversion de contrôle Inversion de contrôle

Avec le principe de l’IOC IOC (Inversion of Control, inversion de contrôle en français), les classes qui implémentent les fonctions d’une librairie ne sont plus instanciées et appelées directement par l’application. Le programme indique qu’il a besoin d’une librairie et elle lui est automatiquement fournie. C’est un mécanisme externe qui met à disposition la classe via un framework ou un mécanisme de plugins. Par exemple, avec Spring, l’application indique qu’elle a besoin d’un service avec une API précise et Spring lui fournit le meilleur candidat.

Spring permet de spécifier le service voulu, via une interface dans les cas les plus courants ou via une classe quand il n’y a pas d’interface. Il utilise pour cela généralement une fabrique d’objets qui est elle-même un design pattern pour mettre à disposition l’objet.

List<String> liste = new ArrayList<String>(); 
UtilisateurDao dao = (UtilisateurDao)  
factory.getBean("utilisateurDao"); 

Une bonne habitude à prendre en général en Java est de déclarer un objet par son interface le caractérisant le mieux. Plutôt que d’instancier un objet soi-même, on laisse à Spring le soin de trouver la classe qui correspond au mieux à l’objet à instancier.

On appelle le mécanisme...

couv_EP4JASP.png

Découvrez 

le livre :

Aussi inclus dans nos :

Précédent
Le singleton en Java
Suivant
Façade