module strategy.quackbehavior; import std.stdio : writeln; abstract interface QuackBehavior { void quack(); } class Quack : QuackBehavior { override void quack() { writeln("Quack"); } } class Squeak : QuackBehavior { override void quack() { writeln("Squeak"); } } class MuteQuack : QuackBehavior { override void quack() { writeln("Silence"); } }