patterns/iterator
Alexander Zhirov 56c278cb44 new 2022-12-05 10:38:19 +03:00
..
simpleiterator new 2022-12-05 10:38:19 +03:00
README.md new 2022-12-05 10:38:19 +03:00
coupling_cohesion.png new 2022-12-05 10:38:19 +03:00
scheme-1.png new 2022-12-05 10:38:19 +03:00

README.md

Итератор

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

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

Принципы

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

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

Связность

coupling_cohesion.png

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

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

Схемы

scheme-1