Exemplo n.º 1
0
        static void Main(string[] args)
        {
            AbstractDuckFactory _duckFactory  = new CountingDuckFactory();
            IQuackable          _mallardDuck  = _duckFactory.CreateMallarDuck();
            IQuackable          _readheadDuck = _duckFactory.CreateRedheadDuck();
            IQuackable          _duckCall     = _duckFactory.CreateDuckCall();
            IQuackable          _rubberDuck   = _duckFactory.CreateRubberDuck();
            IQuackable          _goose        = new GooseAdapter(new Goose());

            Console.WriteLine("\nDuck Simulator\n");

            //Стая уток
            DuckFlock _duckFlock = new DuckFlock();

            _duckFlock.Add(_readheadDuck);
            _duckFlock.Add(_rubberDuck);
            _duckFlock.Add(_duckCall);
            _duckFlock.Add(_goose);

            _mallardDuck.Quack();
            _readheadDuck.Quack();
            _duckCall.Quack();
            _rubberDuck.Quack();
            _goose.Quack();

            Console.WriteLine("\nThe ducks quacks " + QuackCounter.GetQuacks() + " times");

            //Вызов стаи
            _duckFlock.Quack();

            Console.ReadLine();
        }
        public string Quack()

        {
            NotifyObservers();

            numberOfQuacks++;

            return(duck.Quack());
        }
Exemplo n.º 3
0
        public void Quack()
        {
            IEnumerator items = quackers.GetEnumerator();

            while (items.MoveNext())
            {
                IQuackable quacker = (IQuackable)items.Current;
                quacker.Quack();
            }
        }
Exemplo n.º 4
0
        public void Quack()
        {
            Iterator iterator = CreateIterator();

            while (iterator.HasNext())
            {
                IQuackable quacker = (IQuackable)iterator.Next();
                quacker.Quack();
            }
        }
Exemplo n.º 5
0
        public void Quack()
        {
            var iterator = quackers.GetEnumerator();

            while (iterator.MoveNext())
            {
                IQuackable quacker = iterator.Current;
                quacker.Quack();
            }
        }
Exemplo n.º 6
0
        public void Quack()
        {
            DuckIterator iterator = new DuckIterator(ducks);

            while (iterator.HasNext())
            {
                IQuackable quacker = (IQuackable)iterator.Next();
                quacker.Quack();
            }
        }
Exemplo n.º 7
0
        public void Quack()
        {
            IEnumerator <IQuackable> enumerator = quackers.GetEnumerator();

            while (enumerator.MoveNext())
            {
                IQuackable quacker = enumerator.Current;
                quacker.Quack();
            }
        }
Exemplo n.º 8
0
        public void Quack()
        {
            // Паттерн итератор
            IEnumerator <IQuackable> iterator = quackers.GetEnumerator();

            while (iterator.MoveNext())
            {
                IQuackable quacker = iterator.Current;
                quacker.Quack();
            }
        }
Exemplo n.º 9
0
        public void Quack()
        {
            // Iterator pattern at work as well!
            IEnumerator iterator = this.quackers.GetEnumerator();

            while (iterator.MoveNext())
            {
                IQuackable quacker = iterator.Current as IQuackable;

                quacker.Quack();
            }
        }
Exemplo n.º 10
0
        public void Quack()
        {
            IEnumerator iterator = m_quackers.GetEnumerator();

            IQuackable quacker = null;

            while (iterator.MoveNext())
            {
                quacker = (IQuackable)iterator.Current;
                quacker.Quack();
            }
        }
Exemplo n.º 11
0
        public void Compound_AbstractFactory()
        {
            IDuckFactory counterFactory = new DuckCounterFactory();
            IDuckFactory duckFactory    = new DuckFactory();
            IQuackable   duck1          = counterFactory.CreateDuckCall();
            IQuackable   duck2          = counterFactory.CreateRubberDuck();
            IQuackable   duck3          = duckFactory.CreateMallardDuck();

            duck1.Quack();
            duck2.Quack();
            duck3.Quack();

            Assert.AreEqual(2, QuackCounter.GetQuackCount());
        }
        public void Quack()
        {
            // Iterator Pattern
            IEnumerator <IQuackable> iterator = _quackers.GetEnumerator();

            while (iterator.MoveNext())
            {
                IQuackable quacker = iterator.Current;
                quacker.Quack();
            }

            // Condensed, standard implementation for this action:
            //foreach (IQuackable quacker in _quackers)
            //{
            //    quacker.Quack();
            //    NotifyObservers();
            //}
        }
Exemplo n.º 13
0
 public static void Simulate(IQuackable duck)
 {
     duck.Quack();
 }
 public void Quack()
 {
     duck.Quack();
     numberOfQuacks++;
 }
Exemplo n.º 15
0
 public string QuackIt()
 {
     return(_quackable.Quack());
 }
 public void Quack()
 {
     _duck.Quack();
     NotifyObservers();
     _totalNumberOfQuacks++;
 }
Exemplo n.º 17
0
 public void Quack()
 {
     duck.Quack();
     numberOfQuacks++;
     notifyObservers();
 }
 public void Quack()
 {
     _duck.Quack();
     NumberOfQuacks++;
 }
Exemplo n.º 19
0
 public void Quack()
 {
     quackBehavior.Quack();
 }
Exemplo n.º 20
0
 private string Simulate(IQuackable duck)
 {
     return duck.Quack();
 }
Exemplo n.º 21
0
 private static void Simulate(IQuackable duck)
 {
     duck.Quack();
 }
 public void Quack()
 {
     _duck.Quack();
     _numberOfQuack++;
 }
Exemplo n.º 23
0
 public void Simulate(IQuackable duck)
 {
     Console.WriteLine("Inside Simulate");
     duck.Quack();
 }
Exemplo n.º 24
0
Arquivo: Duck.cs Projeto: Denizzi/dp
 public void PerformQuack()
 {
     _quackBehaviour.Quack();
 }
Exemplo n.º 25
0
 private static void Simulate(IQuackable duck)
 {
     duck.Quack();
 }
Exemplo n.º 26
0
 public void Quack()
 {
     _duck.Quack();
     Quacks++;
 }
Exemplo n.º 27
0
 private static void duckCall(IQuackable duck)
 {
     duck.Quack();
 }
 private string Simulate(IQuackable duck)
 {
     return(duck.Quack());
 }
Exemplo n.º 29
0
 public void Quack()
 {
     duck.Quack();         //Вызов Quack() делегируется декорируемой реализации IQuackable...
     numberOfQuacks++;     //...после чего увеличиваем счетчик
 }
Exemplo n.º 30
0
 void Simulate(IQuackable duck)
 {
     duck.Quack();
 }
Exemplo n.º 31
0
 public void PerformQuack()
 {
     QuackBehavior.Quack();
 }
Exemplo n.º 32
0
 void Simulate(IQuackable duck)
 {
     duck.Quack();
 }
Exemplo n.º 33
0
 public void Quack()
 {
     QuackCount++;
     duck.Quack();
     NotifyObservers();
 }