Skip to main content

Qu'est-ce que l'inversion du contrôle?

L'inversion du contrôle (CIO) est une technique de programmation dans laquelle une structure de code générale est utilisée pour régir un certain nombre de sous-programmes uniques et spécifiques.Cela transforme les méthodes de programmation traditionnelles, où le code spécifique régit un certain nombre de sous-programmes réutilisables et généraux, à l'envers.L'inversion du contrôle est généralement utilisée dans des situations où le programmeur sait qu'il ou elle n'aura pas à réutiliser un morceau de code spécifique plus d'une fois, permettant une conception flexible où les sous-programmes des programmes peuvent être interrogé.

Programmation traditionnelle contre IOC

Dans la programmation traditionnelle, le corps principal du code appellera à plusieurs reprises à des sous-programmes généraux qui remplissent des fonctions individuelles.Par exemple, dans un programme traitant de la comptabilité, un sous-programme conçu pour permettre à l'utilisateur final à rechercher un numéro de commande spécifique sera probablement appelé plusieurs fois dans diverses sections du programme, permettant à l'utilisateur d'effectuer cet algorithme de recherche très général à partir deun certain nombre de domaines différents du programme.La réutilisation du code simplifie le processus de programmation, mais crée des complexités si le programmeur souhaite modifier l'algorithme de recherche pour une section du programme sans affecter les autres sections dans lesquelles le code est utilisé.

en utilisant le même exemple sous une inversion de scénario de contrôle., le sous-programme de recherche unique ne serait pas appelé plusieurs fois dans un certain nombre de domaines du programme.Au lieu de cela, chaque section du programme contiendrait son propre sous-programme de recherche complètement autonome.Cela augmente le temps nécessaire pour coder initialement le programme, mais simplifie tous les ajustements spécifiques qui pourraient devoir être réalisés plus tard aux sous-programmes individuels du processus de conception.Changer un sous-programme dans un domaine spécifique laissera le reste du programme complètement non affecté.

Avantages du CIO

Un avantage majeur de cette technique est qu'il facilite la conception du programme lorsque vous travaillez dans des équipes à grande échelle.Comme la communication entre les membres de l'équipe s'avérera nécessairement de plus en plus difficile à mesure que le nombre de travailleurs augmente, l'inversion du contrôle permet à chaque équipe de programmer ses propres routines individuelles, leur permettant de fonctionner indépendamment les uns des autres.Il simplifie également l'impact des bogues dans le système, car toutes les erreurs persistantes dans chaque sous-programme d'équipe n'affecteront que leurs sections spécifiques du programme.Pour cette raison, lorsque des problèmes sont découverts dans une partie du système, le reste du programme doit rester entièrement fonctionnel.

Les inconvénients du CIO

Bien que l'inversion du contrôle puisse simplifier la conception du programme, elle nécessite une connaissance préalable de la façon de concevoirobjets.Bien que chaque routine puisse être programmée individuellement, un créateur de l'IOC doit savoir comment programmer chaque élément au cas où les modifications doivent être effectuées, il n'est donc pas toujours facile pour un programmeur débutant d'utiliser le CIO.De plus, comme chaque routine fonctionne indépendamment, elles sont toutes rendues visibles pour le monde extérieur, qui peut être mal vu par certaines entreprises.