L'inversion de contrôle (IoC) peut être assez déroutante lorsqu'elle est rencontrée pour la première fois. Qu'Est-ce que c'est? Quel problème résout-il? Quand est-il approprié d'utiliser et quand non?
L'inversion de contrôle (IoC) est un principe abstrait décrivant un aspect de certaines conceptions d'architecture logicielle dans lesquelles le flux de contrôle d'un système est inversé par rapport à la programmation procédurale.
L'inversion de contrôle (IoC) peut être assez déroutante lorsqu'elle est rencontrée pour la première fois. Qu'Est-ce que c'est? Quel problème résout-il? Quand est-il approprié d'utiliser et quand non?
Je reçois actuellement cette erreur: System.Data.SqlClient.SqlException: la nouvelle transaction n'est pas autorisée car d'autres threads s'exécutent dans la session. lors de l'exécution de ce code: public class ProductManager : IProductManager { #region Declare Models private...
Fermé . Cette question est basée sur l'opinion . Il n'accepte pas actuellement de réponses. Fermé il y a 6 ans . Verrouillé . Cette question et ses réponses sont verrouillées car la question est hors sujet mais a une signification historique. Il n'accepte pas actuellement de nouvelles réponses ou...
Selon l' article écrit par Martin Fowler , l'inversion de contrôle est le principe où le flux de contrôle d'un programme est inversé: au lieu du programmeur contrôlant le flux d'un programme, les sources externes (framework, services, autres composants) prennent le contrôle de il. C'est comme si...
Dans l'état actuel des choses, cette question ne convient pas à notre format de questions / réponses. Nous nous attendons à ce que les réponses soient étayées par des faits, des références ou une expertise, mais cette question suscitera probablement un débat, des arguments, des sondages ou une...
Dans Java IoC / DI est une pratique très courante qui est largement utilisée dans les applications Web, presque tous les cadres disponibles et Java EE. D'un autre côté, il existe également de nombreuses grandes applications Web Python, mais à côté de Zope (dont j'ai entendu dire qu'il devrait être...
Je trouve que mes constructeurs commencent à ressembler à ceci: public MyClass(Container con, SomeClass1 obj1, SomeClass2, obj2.... ) avec une liste de paramètres toujours croissante. Puisque "Container" est mon conteneur d'injection de dépendances, pourquoi ne puis-je pas simplement faire ceci:...
Je réfléchis à la conception d'une bibliothèque C #, qui aura plusieurs fonctions différentes de haut niveau. Bien sûr, ces fonctions de haut niveau seront implémentées autant que possible en utilisant les principes de conception de classe SOLID . En tant que tel, il y aura probablement des classes...
Je crée actuellement des projets expérimentaux avec nodejs. J'ai programmé beaucoup d'applications Web Java EE avec Spring et apprécié la facilité d'injection de dépendances là-bas. Maintenant, je suis curieux: comment puis-je faire l'injection de dépendance avec le nœud? Ou: en ai-je même besoin?...
Dans l'état actuel des choses, cette question ne convient pas à notre format de questions / réponses. Nous nous attendons à ce que les réponses soient étayées par des faits, des références ou une expertise, mais cette question suscitera probablement un débat, des arguments, des sondages ou une...
Je suis un développeur Windows de longue date, ayant fait mes armes sur win32 et les premiers COM. Je travaille avec .NET depuis 2001, donc je parle assez couramment C # et CLR. Je n'avais jamais entendu parler de Castle Windsor avant de commencer à participer à Stack Overflow. J'ai lu le guide de...
J'ai lu les articles sur MSDN sur Unity (Dependency Injection, Inversion of Control), mais je pense que j'en ai besoin d'expliquer en termes simples (ou des exemples simples). Je suis familier avec le modèle MVPC (nous l'utilisons ici), mais je ne peux pas encore vraiment comprendre ce truc Unity,...
Je refactore une classe et y ajoute une nouvelle dépendance. La classe prend actuellement ses dépendances existantes dans le constructeur. Donc, par souci de cohérence, j'ajoute le paramètre au constructeur. Bien sûr, il y a quelques sous-classes et encore plus pour les tests unitaires, alors...
J'essaie de faire en sorte que Unity gère la création de mes objets et je souhaite avoir des paramètres d'initialisation qui ne sont pas connus avant l'exécution: Pour le moment, la seule façon dont je pourrais penser à la façon de le faire est d'avoir une méthode Init sur l'interface. interface...
Fermé . Cette question est basée sur l'opinion . Il n'accepte pas les réponses actuellement. Vous souhaitez améliorer cette question? Mettez à jour la question afin de pouvoir y répondre avec des faits et des citations en modifiant ce message . Fermé il y a 6 ans . Améliorez cette question Quels...
Si je comprends bien, le mécanisme typique pour l'injection de dépendances consiste à injecter soit via le constructeur d'une classe, soit via une propriété publique (membre) de la classe. Cela expose la dépendance injectée et viole le principe d'encapsulation de la POO. Ai-je raison d'identifier...
(Lié à cette question, EF4: pourquoi la création de proxy doit-elle être activée lorsque le chargement différé est activé? ). Je suis nouveau dans DI, alors soyez patient avec moi. Je comprends que le conteneur est chargé d'instancier tous mes types enregistrés, mais pour ce faire, il nécessite une...
Est-il possible de résoudre une instance de à IOptions<AppSettings>partir de la ConfigureServicesméthode dans Startup? Normalement, vous pouvez utiliser IServiceProviderpour initialiser des instances, mais vous ne l'avez pas à ce stade lorsque vous enregistrez des services. public void...
Comment un conteneur IoC peut-il être utilisé pour les tests unitaires? Est-il utile de gérer les simulations dans une énorme solution (plus de 50 projets) en utilisant l'IoC? Des expériences? Des bibliothèques C # qui fonctionnent bien pour l'utiliser dans les tests unitaires?...