Пример #1
0
        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));
        }
Пример #2
0
        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();
            }
        }