patterns/iterator/README.md

2.0 KiB
Raw Blame History

Итератор

Поведенческий паттерн проектирования, который даёт возможность последовательно обходить элементы составных объектов, не раскрывая их внутреннего представления.

Паттерн Итератор предоставляет меха­низм последовательного перебора элемен­тов кол­лекции без раскрытия ее внутрен­него представления.

Принципы

  • Класс должен иметь только одну причину для изменения

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

Связность

coupling_cohesion.png

Модуль или класс обладает высокой связностью (high cohesion), если он спроектирован для выполнения группы взаимосвязанных функций. Классы с низкой связностью (low coupling) проектируются на основе набора разрозненных функций.

Классы, соответствующие принципу, обычно обладают высокой связностью, и более просты в сопровождении, чем классы с многими обязанностями и низкой связностью.

Схемы

scheme-1