Maison >Problème commun >Qu'est-ce que l'injection de dépendances

Qu'est-ce que l'injection de dépendances

清浅
清浅original
2019-04-01 16:48:017151parcourir

L'injection de dépendances est un modèle de conception qui implémente l'inversion du contrôle et résout les problèmes de dépendance. Il existe trois types : l'injection de constructeur, l'injection de propriétés et l'injection de méthodes. Il présente des avantages tels que la réduction des dépendances et l'amélioration de la réutilisabilité des composants

L'injection de dépendances (DI) est un modèle de conception qui élimine les dépendances entre les codes de programmation, afin que les applications puissent être facilement gérées et testées par un programme. Ensuite, dans l'article, nous présenterons en détail ce qu'est l'injection de dépendance, qui a un certain effet de référence, j'espère qu'elle sera utile à tout le monde

Qu'est-ce que l'injection de dépendances

[. Cours recommandé : Tutoriel Spring]

Injection de dépendances :

En programmation , injection de dépendances Il s'agit d'un modèle de conception qui implémente l'inversion du contrôle et est utilisé pour résoudre les problèmes de dépendance. Une dépendance fait référence à un objet pouvant être exploité. L'injection de dépendances consiste à transmettre des dépendances aux objets dépendants à utiliser. Le service fera partie de l'état du client et transmettra le service au client sans permettre au client de créer ou de trouver le service. L'injection de dépendances rend notre code de programmation faiblement couplé et facile à gérer

Qu'est-ce que l'injection de dépendances

Types d'injection de dépendances :

La classe injectée servira ( Dépendance) Injection dans le client (dépendance), qui peut être divisée sous les formes suivantes

(1) Injection de constructeur : dans l'injection de constructeur, l'injecteur fournit des services (dépendance) via le constructeur de classe client).

(2) Injection de propriété : dans l'injection de propriété (alias injection Setter), l'injecteur fournit des dépendances via les propriétés publiques de la classe client.

(3) Injection de méthode : dans ce type d'injection, la classe client implémente une interface qui déclare des méthodes pour fournir des dépendances, et l'injecteur utilise cette interface pour fournir des dépendances sur le sexe de la classe client.

Avantages de l'injection de dépendances :

(1) Réduire les dépendances

L'injection de dépendances peut éliminer ou réduire les incohérences entre les composants Nécessaire dépendances. Pour réduire l'impact des modifications de composants Composants

(2) Améliorer la réutilisabilité

Réduire les dépendances des composants peut améliorer la réutilisabilité des composants. Si une implémentation différente d'une interface est requise dans un contexte différent, ou simplement une configuration différente de la même implémentation, le composant peut être configuré pour utiliser cette implémentation. Aucune modification de code requise.

(3) Augmenter la testabilité du code

L'injection de dépendances augmente également la testabilité du composant. Lorsque des dépendances peuvent être injectées dans un composant, cela signifie que des implémentations simulées de ces dépendances peuvent être injectées. Les objets fictifs sont utilisés pour les tests en remplacement de l'implémentation réelle, et le comportement des objets fictifs peut être configuré

(4) Améliorer la lisibilité du code

L'injection de dépendances peut convertir les dépendances. L'élément est déplacé vers l'interface du composant. Permet de voir plus facilement quels composants ont des dépendances, rendant le code plus lisible.

(5)Réduire le roulement de dépendance

Le roulement de dépendance crée beaucoup de « bruit » dans le code, ce qui le rend difficile à lire et à maintenir , et rend le composant plus difficile à tester. L'injection de dépendances peut réduire les dépendances et l'utilisation de singletons statiques, et peut parfaitement connecter les composants entre eux

Résumé : ce qui précède est l'intégralité du contenu de cet article, j'espère qu'il sera utile à tout le monde

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn