No, non c'è. Nel nostro attuale progetto abbiamo mimato manualmente il concetto di un registro anche se la nostra implementazione non è così potente come un registro StructureMap.
Se tutto ciò che si desidera è una configurazione container modulare, è possibile creare un'interfaccia marker (forse IRegistry) e quindi eseguire la scansione dell'applicazione per le classi IRegistry. Con Unity, puoi risolvere classi che non sono ancora state registrate in Unity, così puoi semplicemente risolvere ogni implementazione di IRegistry come la trovi. Le classi di registro potevano prendere il contenitore come parametro costruttore e quindi ogni classe poteva configurare il contenitore come necessario per quel livello/componente/libreria.
public interface IRegistry
{
void Configure();
}
public class ServicesRegistry : IRegistry
{
public ServicesRegistry(IUnityContainer container)
{
_container = container;
}
public sub Configure()
{
// Configure container for layer
}
}
Ora nel tuo avvio app da qualche parte si potrebbe avere un programma di avvio automatico dell'applicazione che sia a conoscenza di tutte le vostre registrazioni o sa come eseguire la scansione per loro.
fonte
2010-03-19 14:22:36
Sì, ho pensato che fosse la strada da percorrere. Grazie. – Michael