Page 68 - 4190
P. 68
сулюється додатковим рівнем абстракції, що називається Iterator. Ко-
жен похідний від Collection клас знає, який похідний від Iterator клас
треба створювати і повертати. Після цього клієнт використовує ін-
терфейс, визначений у базовому класі Iterator.
UML-діаграма класів патерну Iterator зображена на рисунку 7.1.
Рисунок 7.1 - UML-діаграма класів патерну Iterator
Iterator надає послідовний спосіб доступу до елементів колекції,
не розкриваючи внутрішньої структури. Каталоги з документами є
колекціями. В офісних умовах, коли доступ до документів здійсню-
ється через адміністратора або секретаря, саме секретар виступає як
Iterator. Для керівника ця система реєстрації здається заплутаною і
нелогічною, проте вона працює - його секретар може швидко і ефек-
тивно знайти потрібний документ.
У телевізорів минулого покоління для зміни ТБ-каналів викорис-
товувався перемикач, що обертався. Кожній позиції на перемикачі
призначався свій канал. У сучасних телевізорів для зміни каналів мо-
жна використати кнопки "Вперед" і "Назад". Коли телеглядач натис-
кає кнопку "Вперед", відображатиметься наступний налагоджений
канал. Телеглядач завжди може запросити наступний канал, не знаю-
чи його номера (рис 7.2).
Патерн Iterator має такі особливості:
68