¿Cómo es el patrón de estrategia diferente de la inyección de dependencia?Patrón de estrategia frente a inyección de dependencia
es decir, por debajo de lo que puede hacer con el patrón de la estrategia:
class Foo{
private readonly ISortAlgo _sortAlgo;
public Foo(ISortAlgo sortAlgo)
{
_sortAlgo = sortAlgo;
}
public void Sort()
{
_sortAlgo.sort();
}
}
con DI se puede hacer lo mismo, en esencia lo que puede tener el constructor, organismo, etc. inyección de interfaz. y daría el mismo efecto que el patrón de Estrategia. Soy consciente de que DI también tiene otros principios, como el acoplamiento flojo, la capacidad de prueba, el cableado, etc.
En términos de implementación, no veo mucha diferencia.
¿Cuál es la diferencia entre el patrón de estrategia y DI?
Las respuestas actuales no son especialmente satisfactorias. Mejores respuestas se centrarían pragmáticamente en las diferencias en las cuales los comportamientos variables se inyectan en tiempo de ejecución. – Mario