Sono un grande fan di DI / IOC. È ottimo per gestire / astrarre le dipendenze e rendere la vita un po 'più semplice.
Tuttavia ho un piccolo problema con esso, che non so come risolvere.
L'idea di base in DI / IOC è che quando un oggetto viene istanziato, tutte le sue dipendenze sono pre-riempite all'interno del costruttore.
Tuttavia IMHO ci sono diversi tipi di parametri per i costruttori (specialmente quando i tuoi oggetti sono immutabili).
- Dipendenze (oggetti necessari affinché il tuo oggetto funzioni)
- Configurazione (informazioni sull'ambiente necessarie per svolgere il lavoro)
- Parametri (dati su cui il lavoro è stato eseguito)
Trovo che IOC funzioni bene con le dipendenze. Ma sto ancora cercando di trovare il modo migliore per gestire gli altri due. Tuttavia, poiché il costruttore viene eseguito per essere eseguito dal contenitore IOC, sembra necessario posizionare questi elementi nel contenitore IOC.
Mi piacerebbe sapere quali strategie / modelli utilizzano le persone e quali vantaggi e svantaggi le persone hanno trovato.
NB. Sono consapevole che questa è una domanda altamente soggettiva e ho cercato di farne una "buona" domanda soggettiva come da linee guida SE.