public IDuck Create(FlyType fly, QuackType quack, SwimType swim) { IFlying flying = _fly.Create(fly); IQuacking quacking = _quack.Create(quack); ISwimming swimming = _swim.Create(swim); return(new UniversalDuck(flying, quacking, swimming)); }
public IQuacking Create(QuackType quack) { switch (quack) { case QuackType.Quack: return(new Quack()); case QuackType.NotQuack: return(new NotQuack()); case QuackType.FakeQuack: return(new FakeQuack()); case QuackType.RoboQuack: return(new RoboQuack()); case QuackType.Default: throw new ArgumentNullException(); default: throw new ArgumentNullException(); } }