Uso il filtro Dipendenza nel mio codice (con Ninject) e ho pensato che stavo andando abbastanza bene fino a quando non ho riscontrato un problema di prestazioni causato da un fraintendimento dei contenitori DI nel codice. Sembra che ci siano molte informazioni su come usare i framework DI ma non troppo su dove non usarli o sul modo migliore di usarli (almeno quello che potrei trovare)Best practice dell'iniezione delle dipendenze
Ho pensato di scrivere quello che ho pensavo fossero delle buone pratiche e vedevo se altre persone erano d'accordo con me e quali altre migliori pratiche le persone possono trovare.
- Usa un kernel per ogni applicazione o AppDomain
- Usare il contenitore DI per longevo Singleton solo oggetti, utilizzare le fabbriche (o altri metodi) per gli oggetti transitori di breve durata)
- Preferisco Constructor iniezione sulla proprietà o Campana iniezione
- Richiesta oggetti, non costruire loro
- altri ?? puntatori a buoni blog/articoli ??
cosa c'è kernel? è un concetto specifico di Ninject (non l'ho visto da nessun'altra parte)? – zvolkov
inoltre, il setter vs iniezioni costruttore è un argomento religioso e come tale deve essere evitato. – zvolkov