Esempio n. 1
0
        static void Main(string[] args)
        {
            /*Tekrarlayıcı tasarım kalıbı; birleşik bir nesnenin bileşenlerine,
             * nesnenin esas ifadesinin
             * gösterilimini açığa çıkarmadan sırayla erişebilmeyi sağlar.
             *
             * Tekrarlayıcı tasarım kalıbı, bir listenin yapısının ve
             * çalışma tarzının uygulamanın diğer kısımları ile olan
             * bağlantılarını en aza indirmek için; listede yer alan nesnelerin,
             * sırasıyla uygulamadan soyutlanması amacıyla kullanılır.
             */
            ConcreteAggregate a = new ConcreteAggregate();

            a[0] = "Item A";
            a[1] = "Item B";
            a[2] = "Item C";
            a[3] = "Item D";
            ConcreteIterator i = new ConcreteIterator(a);

            Console.WriteLine("Iterating over collection:");
            object item = i.First();

            while (item != null)
            {
                Console.WriteLine(item);
                item = i.Next();
            }
            Console.ReadKey();
        }
Esempio n. 2
0
        static void Main1(string[] args)
        {
            ConcreteAggregate a = new ConcreteAggregate();

            a[0] = "Item A";
            a[1] = "Item B";
            a[2] = "Item C";
            a[3] = "Item D";

            // Create Iterator and provide aggregate
            ConcreteIterator i = new ConcreteIterator(a);

            Console.WriteLine("Iterating over collection:");

            object item = i.First();

            while (item != null)
            {
                Console.WriteLine(item);
                item = i.Next();
            }

            // Wait for user
            Console.ReadKey();
        }
Esempio n. 3
0
        static void Main()
        {
            ConcreteAggregate <string> a = new ConcreteAggregate <string>();

            a[0] = "Item A";
            a[1] = "Item B";
            a[2] = "Item C";
            a[3] = "Item D";


            Console.WriteLine("Iterating over collection of  strings:");

            var iterator1 = new ConcreteIterator <string>(a);

            var item = iterator1.First();

            while (item != null)
            {
                Console.WriteLine(item);
                item = iterator1.Next();
            }



            Console.ReadKey();
        }
        static void Main(string[] args)
        {
            // 公車,即聚集物件
            ConcreteAggregate aggregate = new ConcreteAggregate();

            aggregate[0] = "大鳥";
            aggregate[1] = "小菜";
            aggregate[2] = "行李";
            aggregate[3] = "老外";
            aggregate[4] = "巴士內部員工";
            aggregate[5] = "小偷";

            Iterator iterator = new ConcreteIterator(aggregate);

            while (!iterator.IsDone())
            {
                Console.WriteLine($"{iterator.CurrentItem()} 請買車票");
                iterator.Next();
            }

            Console.WriteLine();

            Iterator iterator2 = new ConcreteIteratorDesc(aggregate);

            while (!iterator2.IsDone())
            {
                Console.WriteLine($"{iterator2.CurrentItem()} 請買車票");
                iterator2.Next();
            }

            Console.ReadLine();
        }
Esempio n. 5
0
        static void Main(string[] args)
        {
            #region 结构实现
            ConcreteAggregate a = new ConcreteAggregate();
            a[0] = "Item A";
            a[1] = "Item B";
            a[2] = "Item C";
            a[3] = "Item D";

            ConcreteIterator i = a.CreateIterator() as ConcreteIterator;

            Console.WriteLine("Iterating over collection:");
            object item = i.First();
            while (item != null)
            {
                Console.WriteLine(item);
                item = i.Next();
            }
            #endregion

            Console.WriteLine("******************************");

            #region 实践应用
            Practical.ExtrinsicIterator.Iterator  _iterator;
            Practical.ExtrinsicIterator.Aggregate _aggregate = new Practical.ExtrinsicIterator.ConcreteAggregate();
            // 获得迭代器
            _iterator = _aggregate.CreateIterator();
            while (!_iterator.IsDone())
            {
                Console.WriteLine(_iterator.CurrentItem());
                _iterator.Next();
            }


            Practical.IntrinsicIterator.Iterator  _iterator1;
            Practical.IntrinsicIterator.Aggregate _aggregate1 = new Practical.IntrinsicIterator.ConcreteAggregate();
            // 获得迭代器
            _iterator1 = _aggregate1.CreateIterator();
            while (!_iterator1.IsDone())
            {
                Console.WriteLine(_iterator1.CurrentItem());
                _iterator1.Next();
            }

            #endregion

            Console.ReadKey();
        }
Esempio n. 6
0
        static void Main(string[] args)
        {
            ConcreteAggregate a = new ConcreteAggregate();

            a[0] = "孙悟空";
            a[1] = "猪八戒";
            a[2] = "沙僧";
            a[3] = "白骨精";
            a[4] = "玉帝";

            Iterator iterator = new ConcreteIterator(a);
            object   item     = iterator.First();

            while (!iterator.IsDone())
            {
                System.Console.WriteLine($"{iterator.CurrentItem()}");
                iterator.Next();
            }
        }
Esempio n. 7
0
        static void Main(string[] args)
        {
            ConcreteAggregate a = new ConcreteAggregate();

            a[0] = "张三";
            a[1] = "李四";
            a[2] = "王二";
            a[3] = "哇哈哈";
            a[4] = "乐事";
            Iterator iterator = new ConcreteIterator(a);

            while (!iterator.IsDone())
            {
                Console.WriteLine("{0} 请买票", iterator.CurrentItem());
                iterator.Next();
            }

            Console.Read();
        }
        static void Main(string[] args)
        {
            ConcreteAggregate aggregate = new ConcreteAggregate();

            aggregate[0] = "Item 1";
            aggregate[1] = "Item 2";
            aggregate[2] = "Item 3";
            aggregate[3] = "Item 4";

            ConcreteIterator iterator = new ConcreteIterator(aggregate);

            object item = iterator.First();
            while (!iterator.IsEnd())
            {
                Console.WriteLine(item);
                item = iterator.Next();
            }

            Console.Read();
        }
Esempio n. 9
0
        static void Main(string[] args)
        {
            ConcreteAggregate a = new ConcreteAggregate();
            a[0] = "大鸟";
            a[1] = "大鸟1";
            a[2] = "大鸟2";
            a[3] = "大鸟3";
            a[4] = "大鸟4";
            a[5] = "大鸟5";

            Iterator i = new ConcreteIterator(a);
            object item = i.First();
            while (!i.IsDone())
            {
                Console.WriteLine("{0} 请买票!", i.CurrentItem());
                i.Next();
            }

            Console.Read();
        }
Esempio n. 10
0
        static void Main(string[] args)
        {
            var collection = new ConcreteAggregate();

            for (int i = 0; i < 10; i++)
            {
                collection.Add($" 1 + {i} = {i + 1}");
            }

            var iterator = new ConcreteIterator(collection);

            while (!iterator.IsDone())
            {
                Console.WriteLine(iterator.Next());
            }

            Console.WriteLine($"\n Valor da primeira posição: {iterator.First()} \n");
            Console.WriteLine($" Valor da ultima posição: {iterator.CurrentPosition()}");
            Console.ReadKey();
        }
Esempio n. 11
0
        private static void ClearImplementationDemo()
        {
            var aggregate = new ConcreteAggregate();

            aggregate[0] = "Item A";
            aggregate[1] = "Item B";
            aggregate[2] = "Item C";
            aggregate[3] = "Item D";

            // Create Iterator and provide aggregate
            IIterator iterator = new ConcreteIterator(aggregate);

            Console.WriteLine("Iterating over collection:");

            while (!iterator.IsDone())
            {
                Console.WriteLine(iterator.CurrentItem());
                iterator.Next();
            }
        }
Esempio n. 12
0
        static void Main(string[] args)
        {
            Console.OutputEncoding = Encoding.UTF8;
            ConcreteAggregate a = new ConcreteAggregate();

            a[0] = "大神";
            a[1] = "小神";
            a[2] = "老神";

            Iterator i = new ConcreteIterator(a);

            object item = i.First();

            while (!i.IsDone())
            {
                Console.WriteLine($"{i.CurrentItem()} 请买车票");
                i.Next();
            }

            Console.ReadKey();
        }
Esempio n. 13
0
        static void Main()
        {
            var aggregate = new ConcreteAggregate();

            aggregate[0] = "Item 1";
            aggregate[1] = "Item 2";
            aggregate[2] = "Item 3";
            aggregate[3] = "Item 4";


            var itorator = new ConcreteIterator(aggregate);


            object item = itorator.First();

            while (item != null)
            {
                Console.WriteLine(item);
                item = itorator.Next();
            }
        }
Esempio n. 14
0
        static void Main(string[] args)
        {
            ConcreteAggregate a = new ConcreteAggregate();

            a[0] = "大鸟";
            a[1] = "小菜";
            a[2] = "行李";
            a[3] = "老外";
            a[4] = "公交内部员工";
            a[5] = "小偷";

            Iterator iterator = new ConcreteIterator(a);

            object item = iterator.First();

            while (!iterator.IsDone())
            {
                Console.WriteLine("{0}请买车票!", iterator.CurrentItem());
                iterator.Next();
            }
        }
Esempio n. 15
0
        /// <summary>
        /// Entry point into console application.
        /// </summary>
        static void Main()
        {
            ConcreteAggregate a = new ConcreteAggregate();
            a[0] = "Item A";
            a[1] = "Item B";
            a[2] = "Item C";
            a[3] = "Item D";

            // Create Iterator and provide aggregate
            ConcreteIterator i = new ConcreteIterator(a);

            Console.WriteLine("Iterating over collection:");

            object item = i.First();
            while (item != null) {
                Console.WriteLine(item);
                item = i.Next();
            }

            // Wait for user
            Console.ReadKey();
        }
Esempio n. 16
0
        static void Main()
        {
            ConcreteAggregate <int> b = new ConcreteAggregate <int>();

            b[0] = 1;
            b[1] = 2;
            b[2] = 3;
            b[3] = 4;

            ConcreteIterator <int> j = new ConcreteIterator <int>(b);

            Console.WriteLine("Iterating over collection:");

            while (!j.IsDone())
            {
                var itemT = j.Next();
                Console.WriteLine(itemT);
            }
            ;

            Console.ReadKey();
        }
Esempio n. 17
0
        static void Main(string[] args)
        {
            ConcreteAggregate a = new ConcreteAggregate();

            a[0] = "大鸟";
            a[1] = "大鸟1";
            a[2] = "大鸟2";
            a[3] = "大鸟3";
            a[4] = "大鸟4";
            a[5] = "大鸟5";

            Iterator i    = new ConcreteIterator(a);
            object   item = i.First();

            while (!i.IsDone())
            {
                Console.WriteLine("{0} 请买票!", i.CurrentItem());
                i.Next();
            }

            Console.Read();
        }
Esempio n. 18
0
        static void Main()
        {
            Aggregate a = new ConcreteAggregate();

            a[0] = "Item A";
            a[1] = "Item B";
            a[2] = "Item C";
            a[3] = "Item D";
            
            Iterator i = new ConcreteIterator(a);

            Console.WriteLine("Iterating over collection:");

            object item = i.First();
            while (!i.IsDone())
            {
                Console.WriteLine(item);
                item = i.Next();
            }
            
            Console.ReadKey();
        }
Esempio n. 19
0
        static void Main(string[] args)
        {
            ConcreteAggregate a = new ConcreteAggregate();

            a[0] = "Abby";
            a[1] = "Kuan";
            a[2] = "小李";
            a[3] = "小王";
            a[4] = "小白";
            a[4] = "小偷";

            List <string> aa = new List <string>();

            Iterator i    = new ConcreteIterator(a);
            object   item = i.First();

            while (!i.IsDone())
            {
                Console.WriteLine($"{i.CurrentItem()}請買票");
                i.Next();
            }
            Console.ReadKey();
        }
Esempio n. 20
0
        static void Main(string[] args)
        {
            ConcreteAggregate a = new ConcreteAggregate();

            a[0] = "大鸟";
            a[1] = "小菜";
            a[2] = "行李";
            a[3] = "老外";
            a[4] = "公交内部员工";
            a[5] = "小偷";


            Iterator i = new ConcreteIterator(a);


            while (!i.IsDone())
            {
                Console.WriteLine("{0} 请买车票!", i.CurrentItem());
                i.Next();
            }

            Console.ReadKey();
        }
Esempio n. 21
0
        static void Main()
        {
            var a = new ConcreteAggregate <int>();

            a[0] = "Item A";
            a[1] = "Item B";
            a[2] = "Item C";
            a[3] = "Item D";

            var i = new ConcreteIterator <int>(a);

            Console.WriteLine("Iterating over collection:");

            var item = i.First();

            while (item != null)
            {
                Console.WriteLine(item);
                item = i.Next();
            }

            Console.ReadKey();
        }
        /// <summary>
        /// The test first.
        /// </summary>
        private static void TestFirst()
        {
            ConcreteAggregate concreteAggregate = new ConcreteAggregate();

            concreteAggregate[0] = "Item A";
            concreteAggregate[1] = "Item B";
            concreteAggregate[2] = "Item C";
            concreteAggregate[3] = "Item D";

            // Create Iterator and provide aggregate
            ConcreteIterator concreteIterator = new ConcreteIterator(concreteAggregate);

            Console.WriteLine("Iterating over collection:");
            object item = concreteIterator.First();

            while (item != null)
            {
                Console.WriteLine(item);
                item = concreteIterator.Next();
            }

            // Wait for user
            Console.ReadKey();
        }
Esempio n. 23
0
        static void Main(string[] args)
        {
            // Cria Concrete Aggregate
            Equipe equipe = new Equipe();

            equipe[0] = "Guinther";
            equipe[1] = "Paulo";
            equipe[2] = "Luciano";
            equipe[3] = "Wesley";

            // Cria Iterator
            ConcreteIterator i = new ConcreteIterator(equipe);

            // iterar pela coleção
            Console.WriteLine("Listando membros da equipe:");
            Object item = i.First();

            while (item != null)
            {
                Console.WriteLine(item);
                item = i.Next();
            }
            Console.ReadLine();
        }
Esempio n. 24
0
        static void Main(string[] args)
        {
            Persona p = new Persona()
            {
                Apellido = "Lopez0", Nombre = "Jose0"
            };
            Persona p1 = new Persona()
            {
                Apellido = "Lopez1", Nombre = "Jose1"
            };
            Persona p2 = new Persona()
            {
                Apellido = "Lopez2", Nombre = "Jose2"
            };
            Persona p3 = new Persona()
            {
                Apellido = "Lopez3", Nombre = "Jose3"
            };
            Persona p4 = new Persona()
            {
                Apellido = "Lopez4", Nombre = "Jose4"
            };

            List <Persona> miLista = new List <Persona>();

            miLista.Add(p);
            miLista.Add(p1);
            miLista.Add(p2);
            miLista.Add(p3);
            miLista.Add(p4);

            ConcreteIterator <Persona> barraNavegacion = new ConcreteIterator <Persona>(miLista);

            //Muestro el actual
            Persona actual = barraNavegacion.CurrentItem();

            Console.WriteLine(actual.Apellido);
            Console.ReadKey();

            //Muestro el Ultimo
            barraNavegacion.MoveLast();
            actual = barraNavegacion.CurrentItem();
            Console.WriteLine(actual.Apellido);
            Console.ReadKey();

            //Muestro el anterior al ùltimo
            barraNavegacion.MovePrevious();
            actual = barraNavegacion.CurrentItem();
            Console.WriteLine(actual.Apellido);
            Console.ReadKey();

            //Muestro el anterior al primero
            barraNavegacion.MoveFirst();
            actual = barraNavegacion.CurrentItem();
            Console.WriteLine(actual.Apellido);
            Console.ReadKey();

            //Muestro el anterior al siguiente
            barraNavegacion.MoveNext();
            actual = barraNavegacion.CurrentItem();
            Console.WriteLine(actual.Apellido);
            Console.ReadKey();
        }
Esempio n. 25
0
        static void Main()
        {
            var aggregate = new ConcreteAggregate();
            aggregate[0] = "Item 1";
            aggregate[1] = "Item 2";
            aggregate[2] = "Item 3";
            aggregate[3] = "Item 4";

            var itorator = new ConcreteIterator(aggregate);

            object item = itorator.First();
            while (item != null)
            {
                Console.WriteLine(item);
                item = itorator.Next();
            }
        }
 public override Iterator CreateIterator()
 {
     iterator = new ConcreteIterator(this);
     return iterator;
 }