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

Содержание

Слайд 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();}

Идиомы Инкремент: Обмен значениями: Бесконечный цикл: inc(i); i++; temp = a; a =

Слайд 13

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

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

задачи компоновки системы в виде классов и объектов
Шаблоны поведения – предназначены для распределения обязанностей между объектами в системе

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

Слайд 14

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

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

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

Слайд 15

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

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

Слайд 16

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

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

Слайд 17

Строитель

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

невозможно. Требуется поэтапное построение объектов с контролем результатов выполнения каждого этапа.

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

Слайд 18

Строитель

Строитель

Слайд 19

Одиночка

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

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

Слайд 20

Одиночка

Одиночка

Слайд 21

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

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

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

Слайд 22

Адаптер

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

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

Адаптер Представляет собой программную обертку над уже существующими классами и предназначен для преобразования

Слайд 23

Адаптер

Адаптер

Слайд 24

Компоновщик

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

добавляет объекту новые обязанности.

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

Слайд 25

Компоновщик

Компоновщик

Слайд 26

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

Цепочка обязанностей
Команда
Итератор
Интерпретатор
Посредник

Хранитель
Наблюдатель
Состояние
Стратегия
Шаблонный метод
Посетитель

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

Слайд 27

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

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

изменения его общей структуры.

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

Слайд 28

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

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

Слайд 29

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

Golden hammer
Hard code
Magic numbers
Programming by permutation
Blind faith

Антипаттерны Golden hammer Hard code Magic numbers Programming by permutation Blind faith

Имя файла: Шаблонное-проектирование.pptx
Количество просмотров: 61
Количество скачиваний: 0