Beispiel #1
0
 public void SeeBooks(IBookCollection library, IBookIterator iterator)
 {
     for (Book item = iterator.First(); !iterator.IsDone; item = iterator.Next())
     {
         Console.WriteLine(iterator.CurrentItem.Name);
         item.Print();
     }
 }
Beispiel #2
0
        public void SeeBooks(Library library)
        {
            IBookIterator iterator = library.CreateNumerator();

            while (iterator.HasNext())
            {
                Console.WriteLine(iterator.Next().Name);
            }
        }
Beispiel #3
0
        public void SeeBooks(Library library)
        {
            IBookIterator iterator = library.CreateIterator();

            while (iterator.HasNext())
            {
                Book book = iterator.Next();
                Console.WriteLine(book.Name);
            }
        }
Beispiel #4
0
        public string SeeBook(Library library)
        {
            string        result       = "";
            IBookIterator bookIterator = library.CreateNumerator();

            while (bookIterator.HasNext())
            {
                Book book = bookIterator.Next();

                result = string.Format("{0}{1}{2}", result, Environment.NewLine, book.Name);
            }
            return(result);
        }
Beispiel #5
0
        static void Main(string[] args)
        {
            IBookCollection  library         = new Library();
            IIteratorFactory iteratorFactory = new IteratorFactory();

            IBookIterator iteratorNormal  = library.CreateIterator(iteratorFactory, BookIteratorType.normal);
            IBookIterator iteratorReverse = library.CreateIterator(iteratorFactory, BookIteratorType.reverse);

            library[0] = new Book("book01");
            library[1] = new Book("book02");

            Reader reader = new Reader();

            reader.SeeBooks(library, iteratorNormal);
            reader.SeeBooks(library, iteratorReverse);

            Console.ReadKey();
        }
Beispiel #6
0
        public virtual IBookIterator Create(IBookCollection collection, BookIteratorType type)
        {
            IBookIterator iterator = null;

            switch (type)
            {
            case BookIteratorType.normal:
                iterator = new LibraryIterator(collection);
                break;

            case BookIteratorType.reverse:
                iterator = new LibraryReverseIterator(collection);
                break;

            default:
                iterator = new LibraryIterator(collection);
                break;
            }

            return(iterator);
        }
Beispiel #7
0
        static void Main(string[] args)
        {
            Library library = new Library();

            Console.WriteLine("===Part1 with reader===");
            Reader reader = new Reader();

            reader.SeeBooks(library);

            Console.WriteLine();

            Console.WriteLine("===Part2 without reader===");
            IBookIterator iterator = library.CreateNumerator();

            while (iterator.HasNext())
            {
                Book book = iterator.Next();
                Console.WriteLine(book.Name);
            }

            Console.Read();
        }