2.0 KiB
Итератор
Поведенческий паттерн проектирования, который даёт возможность последовательно обходить элементы составных объектов, не раскрывая их внутреннего представления.
Паттерн Итератор предоставляет механизм последовательного перебора элементов коллекции без раскрытия ее внутреннего представления.
Принципы
- Класс должен иметь только одну причину для изменения
Поручая классу не только его непосредственную задачу (управление коллекцией объектов), но и дополнительные задачи (перебор), создаются две возможные причины для изменения. Теперь измениться может как внутренняя реализация коллекции, так и механизм перебора.
Связность
Модуль или класс обладает высокой связностью (high cohesion), если он спроектирован для выполнения группы взаимосвязанных функций. Классы с низкой связностью (low coupling) проектируются на основе набора разрозненных функций.
Классы, соответствующие принципу, обычно обладают высокой связностью, и более просты в сопровождении, чем классы с многими обязанностями и низкой связностью.