In che modo il modello di strategia è diverso dall'iniezione di dipendenza?Schema di strategia contro Iniezione di dipendenza
vale a dire al di sotto è quello che si può fare con il modello di strategia:
class Foo{
private readonly ISortAlgo _sortAlgo;
public Foo(ISortAlgo sortAlgo)
{
_sortAlgo = sortAlgo;
}
public void Sort()
{
_sortAlgo.sort();
}
}
con DI è possibile fare lo stesso, in sostanza, si può avere costruttore, setter, l'iniezione di interfaccia ecc. e darebbe lo stesso effetto del modello di strategia. Sono consapevole del fatto che il DI è anche impostato su altri principi, come l'accoppiamento libero, la testabilità, il cablaggio ecc.
In termini di implementazione non vedo molta differenza.
qual è la differenza tra il modello di strategia e DI?
Le risposte attuali non sono particolarmente soddisfacenti. Risposte migliori si concentrerebbero pragmaticamente sulle differenze in cui i comportamenti delle variabili vengono iniettati in fase di esecuzione. – Mario