Паттерн Итератор на C#

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

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

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

 Представим, что у нас есть два класса, реализующие две разных коллекции, суть проблемы состоит в том, чтобы клиент не знал как эти коллекции реализованы, но имел возможность обходить последовательно все коллекции.

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

Как мы знаем утром мы не едим мясо, супы итд, потому что это эти блюда употребляем в обед, а завтракаем более легкой пищей. Соответственно для этой ситуации у нас должно быть 2 коллекции, завтрак и обед. Но проблема еще заключается в том, что в автомате до нас реализовали коллекцию завтраков, и менять мы ее не можем. Для решения этих целей и был придуман паттерн Итератор. Мы реализуем интерфейс.

Обновлено: 25.01.2022 — 11:11

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.