¿Podemos reemplazar completamente la herencia usando el patrón de estrategia y la inyección de dependencia?

Por ejemplo: var duckBehaviors = new Duckbehavior(); duckBehaviors.quackBehavior = new Quack(); duckBehaviors.flyBehavior = new FlyWithWings(); Duck mallardDuck = new Duck(DuckTypes.MallardDuck, duckBehaviors) Como la clase Duck contiene todos los comportamientos (abstractos), no parece...