Strukturkarte - Implementierungen mit mehreren Schnittstellen

8

Ich bin völlig neu in Structuremap und bin verwirrt darüber, wie man eine Schnittstelle verbindet, die mehrere Implementierungen hat.

Sagen wir, ich habe Controller1 und Controller2 . Ich habe Interface1 , das von zwei separaten Klassen implementiert wird, Class1ForInterface1 und Class2ForInterface1 . In Controller1 Ich möchte Class1ForInterFace1 injiziert und in Controller2 Ich möchte Class2ForInterface1 injiziert.

Wie verbinde ich das mit der Strukturkarte? Es scheint, dass ich nur eine Zuordnung von Interface zum konkreten Typ haben kann?

Danke!

    
Jill 23.06.2011, 19:03
quelle

1 Antwort

10

Es ist möglich, mehrere Klassen zu haben, die dieselbe Schnittstelle mit Strukturkarte implementieren.

Wenn Sie Ihre Zuordnungen benennen, können Sie sie später mit diesem Namen abrufen.

%Vor%

Wenn Sie dann Ihr Class1ForMyInterface möchten, können Sie

anrufen %Vor%

Es gibt auch ein paar Möglichkeiten, all dies in Ihrem Container zu mappen

%Vor%

Oder wenn Sie die Smartinsatance beibehalten, die zurückgegeben wird, wenn Sie einen Typ registrieren, können Sie ihn im Mapping verwenden.

%Vor%     
Bassetassen 23.06.2011 21:53
quelle