Ich möchte IOC in meiner Anwendung implementieren, aber ich bin verwirrt, in meiner Anwendung habe ich mehrere konkrete Klassen, die eine Schnittstelle implementieren. Betrachten Sie dieses Szenario: -Verwenden von IOC-Container für mehrere Betontypen
Ich habe eine Inteface ICommand und folgende konkrete Typen, die diese Schnittstelle implementieren: -
- AddAddress
- Neuer Kontakt
- RemoveAddress
- RemoveContact
Grundsätzlich Benutzer führt alle diese Aktion in der Benutzeroberfläche aus, und dann wird List an die Serviceebene übergeben, wo eac Der h-Befehl wird ausgeführt.
So in GUI-Schicht werde ich
ICommand command1 = new AddAddress();
ICommand command2 = new RemoveContact();
In Befehl Krippe
List<ICommand> listOfCommands = List<ICommand>();
listOfCommands.Add(command1);
listOfCommands.Add(command2);
Dann schreiben schließlich listOfCommands zu Dienstschicht passieren.
Jetzt nach meinem Verständnis von IOC ist nur eine konkrete Klasse auf die Schnittstelle abgebildet. Und wir verwenden diese Syntax, um unseren konkreten Typ aus dem StructureMap-Container zu erhalten.
ICommand command = ObjectFactory.GetInstance<ICommand>();
Wie soll ich IOC in diesem Szenario implementieren?