Je souhaite implémenter IOC dans mon application mais je suis confus. Dans mon application, j'ai plusieurs classes concrètes qui implémentent une interface. Considérez ce scénario: -Utilisation du conteneur IOC pour plusieurs types de béton
Je dispose d'un ICommand Inteface et suivants types concrets qui mettent en œuvre cette interface: -
- AddAddress
- AjoutContact
- RemoveAddress
- removeContact
Fondamentalement l'utilisateur effectue toute cette action dans l'interface utilisateur, puis la liste est transmise à la couche de service où La commande h est exécutée.
donc dans la couche graphique, je vais écrire
ICommand command1 = new AddAddress();
ICommand command2 = new RemoveContact();
Dans la commande mangeoire
List<ICommand> listOfCommands = List<ICommand>();
listOfCommands.Add(command1);
listOfCommands.Add(command2);
Puis, finalement, passera listOfCommands à la couche de service.
Maintenant, selon ma compréhension d'IOC, une seule classe concrète est mappée à l'interface. Et nous utilisons cette syntaxe pour obtenir notre type concret à partir du conteneur StructureMap.
ICommand command = ObjectFactory.GetInstance<ICommand>();
Comment devrais-je implémenter IOC dans ce scénario?