5
Können wir die Vererbung mithilfe von Strategiemustern und Abhängigkeitsinjektion vollständig ersetzen?
Zum Beispiel: var duckBehaviors = new Duckbehavior(); duckBehaviors.quackBehavior = new Quack(); duckBehaviors.flyBehavior = new FlyWithWings(); Duck mallardDuck = new Duck(DuckTypes.MallardDuck, duckBehaviors) Da die Duck-Klasse alle Verhaltensweisen enthält (abstrakt), scheint das Erstellen einer neuen Klasse MallardDuck(die erweitert wird Duck) nicht erforderlich zu sein. Referenz: Head First Design Pattern, Kapitel 1.