Добавил:
Developer Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции / Паттерны (3).pptx
Скачиваний:
43
Добавлен:
22.03.2023
Размер:
5.4 Mб
Скачать

Паттерн Iterator

Известные применения

Итераторы широко распространены в объектно- ориентированных системах. В том или ином виде они есть в большинстве библиотек коллекций классов.

В языке Smalltalk необязательно определять итераторы так явно. В стандартных классах коллекций (Bag, Set, Dictionary, OrderedCollection, String и т.д.) определен метод do:, выполняющий функции внутреннего итератора, который принимает блок(то есть замыкание). Каждый элемент коллекции привязывается к локальной переменной в блоке, а затем блок выполняется. Smalltalk также включает набор классов Stream, которые поддерживают похожий на итератор интерфейс.

151

Паттерн Iterator

Родственные паттерны

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

Фабричный метод: полиморфные итераторы поручают фабричным методам инстанцировать подходящие подклассы класса Iterator.

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

152

– преимущества и недостатки

Преимущества Недостатки

ПАТТЕРН MEDIATOR

Паттерн Mediator

Название и классификация паттерна

Посредник - паттерн поведения объектов.

Назначение

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

155

Паттерн Mediator

Применимость

Используйте паттерн посредник, когда

Имеются объекты, связи между которыми сложны и четко определены. Получающиеся при этом взаимозависимости не структурированы и трудны для понимания;

Нельзя повторно использовать объект, поскольку он обменивается информацией со многими другими объектами;

Поведение, распределенное между несколькими классами, должно поддаваться настройке без порождения множества подклассов.

156

Паттерн Mediator

Мотивация

157

Паттерн Mediator

Мотивация

158

Паттерн Mediator

Мотивация

159

Паттерн Mediator

Мотивация

160

Соседние файлы в папке Лекции