Шаблонное проектирование
Шаблон проектирования
Преимущества
Недостатки
Классификация
Архитектурные паттерны
Паттерны проектирования
Паттерны анализа
Паттерны тестирования
Паттерны реализации
Идиомы
Идиомы
Классификация
Порождающие шаблоны
Фабрика объектов
Фабрика объектов
Строитель
Строитель
Одиночка
Одиночка
Структурные шаблоны
Адаптер
Адаптер
Компоновщик
Компоновщик
Шаблоны поведения
Шаблонный метод
Шаблонный метод
Антипаттерны
Литература
1.69M
Category: programmingprogramming

Шаблонное проектирование

1. Шаблонное проектирование

Выполнила студентка
группы ИВТ-32
Залюбовина Мария

2. Шаблон проектирования

• Формализованное
описание
часто
встречающейся задачи проектирования,
удачное решение данной задачи и
рекомендации по применению этого
решения в различных ситуациях

3. Преимущества

• Снижение сложности разработки
• Упрощение коммуникации
• Правильно сформулированный шаблон
позволяет пользоваться им снова и снова
• Набор шаблонов помогает разработчику
выбрать наиболее подходящий вариант
проектирования

4. Недостатки

• Может
привести
программы
к
усложнению
• Необоснованное применение шаблона

5. Классификация


Архитектурные паттерны
Паттерны проектирования
Паттерны анализа
Паттерны тестирования
Паттерны реализации

6. Архитектурные паттерны

• Описывают структурную схему системы в
целом

7. Паттерны проектирования

• Описывают
схемы
детализации
программных подсистем и отношений
между ними.

8. Паттерны анализа

• Представляют общие схемы организации
процесса
объектно-ориентированного
моделирования.

9. Паттерны тестирования

• Определяют общие схемы организации
процесса
систем
тестирования
программных

10. Паттерны реализации

• Описывают
шаблоны,
используются
при
программного кода.
которые
написании

11. Идиомы

• Шаблоны,
описывающие
типичные
решения
на
конкретном
языке
программирования.

12. Идиомы

• Инкремент:
• Обмен значениями:
• Бесконечный цикл:
inc(i);
i++;
temp = a;
a = b;
b = temp;
while True:
do_something()
for (;;){
do_something();}

13. Классификация

• Порождающие шаблоны – предназначены
для создания новых объектов в системе
• Структурные шаблоны – решают задачи
компоновки системы в виде классов и объектов
• Шаблоны поведения – предназначены для
распределения обязанностей между объектами
в системе

14. Порождающие шаблоны


Фабричный метод
Абстрактная фабрика
Строитель
Прототип
Одиночка
Пул объектов

15. Фабрика объектов

16. Фабрика объектов

17. Строитель

• В системе могут существовать сложные
объекты, создание которых за одну
операцию
затруднительно
или
невозможно.
Требуется
поэтапное
построение объектов с контролем
результатов выполнения каждого этапа.

18. Строитель

19. Одиночка

• Контролирует
создание
единственного
экземпляра некоторого класса и предоставляет
доступ к нему.

20. Одиночка

21. Структурные шаблоны


Адаптер
Мост
Компоновщик
Декоратор
Фасад
Приспособленец
Заместитель

22. Адаптер

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

23. Адаптер

24. Компоновщик

• Используется
для
расширения
функциональности объектов. Являясь гибкой
альтернативой порождению классов, паттерн
Decorator динамически добавляет объекту новые
обязанности.

25. Компоновщик

26. Шаблоны поведения

• Цепочка
обязанностей
Команда
Итератор
Интерпретатор
Посредник
Хранитель
Наблюдатель
Состояние
Стратегия
Шаблонный метод
Посетитель

27. Шаблонный метод

• Определяет основу алгоритма и позволяет
подклассам изменить некоторые шаги этого
алгоритма без изменения его общей структуры.

28. Шаблонный метод

29. Антипаттерны


Golden hammer
Hard code
Magic numbers
Programming by permutation
Blind faith

30. Литература

• Мартин Р. // Принципы, паттерны и методики
гибкой разработки на языке C#. – СПб.: СимволПлюс, 2011.
• http://cpp-reference.ru/patterns
English     Русский Rules