Podemos substituir completamente a herança usando padrão de estratégia e injeção de dependência?

Por exemplo: var duckBehaviors = new Duckbehavior(); duckBehaviors.quackBehavior = new Quack(); duckBehaviors.flyBehavior = new FlyWithWings(); Duck mallardDuck = new Duck(DuckTypes.MallardDuck, duckBehaviors) Como a classe Duck contém todos os comportamentos (abstrato), a criação de uma nova...