Page 68 - 4190
P. 68

сулюється додатковим рівнем абстракції, що називається Iterator. Ко-
            жен похідний від Collection клас знає, який похідний від Iterator клас
            треба  створювати  і  повертати.  Після  цього  клієнт  використовує  ін-
            терфейс, визначений у базовому класі Iterator.

                  UML-діаграма класів патерну Iterator зображена на рисунку 7.1.



































                            Рисунок 7.1 - UML-діаграма класів патерну Iterator


                  Iterator надає послідовний спосіб доступу до елементів колекції,
            не  розкриваючи  внутрішньої  структури.  Каталоги  з  документами  є
            колекціями. В офісних умовах, коли доступ до документів здійсню-

            ється через адміністратора або секретаря, саме секретар виступає як
            Iterator.  Для  керівника  ця  система  реєстрації  здається  заплутаною  і
            нелогічною, проте вона працює - його секретар може швидко і ефек-

            тивно знайти потрібний документ.
                  У телевізорів минулого покоління для зміни ТБ-каналів викорис-
            товувався  перемикач,  що  обертався.  Кожній  позиції  на  перемикачі
            призначався свій канал. У сучасних телевізорів для зміни каналів мо-

            жна використати кнопки "Вперед" і "Назад". Коли телеглядач натис-
            кає  кнопку  "Вперед",  відображатиметься  наступний  налагоджений
            канал. Телеглядач завжди може запросити наступний канал, не знаю-

            чи його номера (рис 7.2).
                  Патерн Iterator має такі особливості:


                                                              68
   63   64   65   66   67   68   69   70   71   72   73