Главная » Delphi » Delphi 2006 – Шаблон Iterator (Итератор)

0

Популярный шаблон Итератор предоставляет программную обложку объектам, содержащим наборы элементов, — спискам, коллекциям. Он предлагает список стандартизованных методов перебора элементов, которые скрывают от конечного пользователя способ своей реализации, за счет чего удается

Рис. 7.17. Шаблон Итератор в Дизайнере модели

взаимодействовать с любыми подобными классами через унифицированный интерфейс (рис. 7.17).

Базовые функции Итератора ясны из описания интерфейса:

Ilterator = interface

function First: TObject; function Next: TObject; function IsDone: Boolean; function Currentltem: TObject; end;

Функции First/Next выполняют перемещение к первому и следующему объектам в списке, функция IsDone возвращает значение True, если перебраны все элементы списка, а функция Currentltem возвращает текущий объект в наборе.

Так как необходимо, чтобы Итератор мог работать с произвольными классами, возможно, встроенными в стандартные системные библиотеки, и предоставлять самую разную функциональность (например, чтобы один Итератор позволял обойти список от начала к концу, а другой — от конца к началу), в программе также требуется некий дополнительный объект, который бы управлял списком доступных итераторов. Поэтому в шаблон включен интерфейс Агрегатор.

IAggregate = interface

function Iterator: Ilterator; end;

Агрегатор управляет созданием конкретных классов-итераторов.

Бобровский С. И. Технологии Delphi 2006. Новые возможности. — СПб.: Питер, 2006. — 288 е.: ил.

По теме:

  • Комментарии