Qualcuno ha avviato un progetto per fare IOC in fase di compilazione (probabilmente usando l'emit di metodo Roslyn o Linq MethodInfo)?
La mia esperienza con i contenitori IOC è stata finora eccezionale, a parte alcuni piccoli problemi
- Molti contenitori IOC sono lenti all'avvio, in quanto gran parte della logica di risoluzione si verifica qui
- Spesso è difficile garantire che la risoluzione sia possibile, poiché la compilazione non garantisce più che il costruttore possa essere chiamato
- Spesso i contenitori IOC aggiungono un piccolo overhead al runtime (alcuni non sono nemmeno piccoli, spesso quelli che si avviano rapidamente si avviano lentamente)
Mi sembra che la soluzione ideale sarebbe aggiungere un passaggio compilato alla catena di build che aggiunge una classe Factory anziché IOC.
Qualcuno l'ha già fatto prima? In caso contrario, perché no?