I have 4 progetti:Dependency Injection e progetto di struttura per le applicazioni console
core (iServer):
- sistema
- System.Core
DependencyResolver:
- Nucleo
- StructureMap
Infrastructure (Servizio):
- Nucleo
- dipendenza esterna
Console:
- Nucleo
- DependencyResolver
requierements:
Sto cercando di utilizzare StructureMap solo nel DependencyResolver. Inoltre l'applicazione Console non dovrebbe sapere nulla di Infrastucture.
Quando non desidero fare riferimento a StructureMap sulla mia applicazione Console, devo creare un ServiceLocator.
Nel DependencyResolver Ho un programma di avvio automatico che è responsabile per la chiamata roba registro StructureMap (Registrati)
Nella mia applicazione Console voglio ottenere un'istanza. Per questo ho bisogno di fare riferimento a StructureMap. Un altro modo sarebbe scrivere un piccolo wrapper attorno ai metodi di risoluzione di StructureMaps.
C'è qualche altro modo migliore per disaccoppiare la console da StructureMap?
Sembra un po 'troppo ingegnoso. Com'è il tuo codice? Perché hai bisogno di un localizzatore di servizi se il tuo risolutore di dipendenze incapsula già la mappa della struttura? – SimonC
Hai visto http://bootstrapper.codeplex.com/ –
Il risolutore di dipendenze nome non è la scelta migliore in relazione a ciò per cui il componente è responsabile. Al momento la sua unica responsabilità è registrare le dipendenze. Quindi la mia domanda riguarda più la parte risolutiva di Dipendenza Iniezione. – Rookian