Можем ли мы полностью заменить наследование, используя шаблон стратегии и внедрение зависимостей?

Например: var duckBehaviors = new Duckbehavior(); duckBehaviors.quackBehavior = new Quack(); duckBehaviors.flyBehavior = new FlyWithWings(); Duck mallardDuck = new Duck(DuckTypes.MallardDuck, duckBehaviors) Поскольку класс Duck содержит все типы поведения (абстрактные), создание нового класса...