Основы разработки программных систем. Типовые решения стадии проектирования

Слайд 2

Рисунки

Рисунки

Слайд 3

Компоновщик (Composite)

Рекурсивная композиция
Единый интерфейс для простых и сложных компонентов

Компоновщик (Composite) Рекурсивная композиция Единый интерфейс для простых и сложных компонентов

Слайд 4

Компоновщик: Структура

Компоновщик: Структура

Слайд 7

Мост (bridge)

Проблемы
Несколько реализаций порождает много классов
Привязка реализации к абстракции
Трудно менять реализацию, не

Мост (bridge) Проблемы Несколько реализаций порождает много классов Привязка реализации к абстракции
затронув абстракцию

Слайд 8

Мост: решение

Отделяем абстракцию от реализаций

Мост: решение Отделяем абстракцию от реализаций

Слайд 11

Фабрика (Factory): проблема

Существует несколько семейств объектов
В одно время необходимо создавать объекты только

Фабрика (Factory): проблема Существует несколько семейств объектов В одно время необходимо создавать
одного семейства, т.е. система конфигурируется этим семейством
Система не должна зависеть от выбора семейства

Слайд 12

Фабрика: решение

Для каждого семейства объектов создаём классы-фабрики, создающие объекты

Фабрика: решение Для каждого семейства объектов создаём классы-фабрики, создающие объекты

Слайд 13

Фабрика: структура

Фабрика: структура

Слайд 16

Декоратор (Decorator)

Проблема
Необходимо добавить обязанности одному объекту, но не классу
Решение
Создаём класс-декоратор, который наследует

Декоратор (Decorator) Проблема Необходимо добавить обязанности одному объекту, но не классу Решение
интерфейсу декорируемого объекта

Слайд 17

Декоратор: структура

Декоратор: структура