Сегодня изучаем паттерны проектирования. В конце страницы вы найдете видео с лекцией по нижеизложенным материалам.
Темы занятий, которые будут затронуты в рамках изучения паттернов проектирования:
- Вводное
- Структурные шаблоны
- Поведенческие шаблоны
- Порождающие шаблоны
- Шаблоны параллельного проектирования и архитектурные шаблоны
- Что такое метрики и зачем их собирать?
Паттерн
Паттерн (англ. pattern — образец, шаблон, система) — заимствованное слово. Слово «pattern» используется как термин в нескольких дисциплинах и технологиях. Смысл термина «паттерн» всегда уже чем просто «образец», и варьируется в зависимости от области знаний, в которой используется. Слово pattern, в зависимости от контекста, имеет широкий диапазон значений.
- Паттерн — повторяющийся элемент в различных сферах жизни, в основном в природе и дизайне.
- Паттерн (психология):
- набор стереотипных поведенческих реакций или последовательностей действий;
- объединение сенсорных стимулов как принадлежащих одному классу объектов.
- Паттерн (информатика) — эффективный способ решения характерных задач проектирования, в частности проектирования компьютерных программ.
ОпределениеПаттерн (англ. design pattern) — повторимая архитектурная конструкция, представляющая собой решение проблемы проектирования в рамках некоторого часто возникающего контекста.
Обычно шаблон не является законченным образцом, который может быть прямо преобразован в код; это лишь пример решения задачи, который можно использовать в различных ситуациях.
4 стадии применения паттернов- Ух ты! Я узнал что такое паттерн, надо куда-то его запилить!
- Ого! Я применил в программе 7 паттернов и стало намного лучше!
- Ух блин! Как теперь в этой мешанине разобраться кто и куда передает данные?
- Хм. Надо смотреть что за задача и понимать какой паттерн и в каком варианте может быть полезен.
UMLUML (англ. Unified Modeling Language — унифицированный язык моделирования) — язык графического описания для объектного моделирования в области разработки программного обеспечения, моделирования бизнес-процессов, системного проектирования и отображения организационных структур. UML был создан для определения, визуализации, проектирования и документирования, в основном, программных систем. UML не является языком программирования, но на основании UML-моделей возможна генерация кода.
Диаграммы
Структурные диаграммы: - диаграмма классов;
- диаграмма компонентов;
- диаграмма композитной/составной структуры;
- диаграмма кооперации (UML2.0);
- диаграмма развёртывания;
- диаграмма объектов;
- диаграмма пакетов;
- диаграмма профилей (UML2.2).
Диаграммы поведения: - диаграмма деятельности;
- диаграмма состояний;
- диаграмма вариантов использования.
Диаграммы взаимодействия: - диаграмма коммуникации (UML2.0) / диаграмма кооперации (UML1.x);
- диаграмма обзора взаимодействия (UML2.0);
- диаграмма последовательности;
- диаграмма синхронизации (UML2.0).
Диаграмма классовДиаграмма классов (англ. Static Structure diagram) — структурная диаграмма, демонстрирующая общую структуру иерархии классов системы, их коопераций, атрибутов (полей), методов, интерфейсов и взаимосвязей между ними. Широко применяется не только для документирования и визуализации, но также для конструирования посредством прямого или обратного проектирования.
Уровни представления- Анализа. Класс содержит в себе только набросок общих контуров системы и работает как логическая концепция предметной области или программного продукта.
- Проектирования. Класс отражает основные проектные решения касательно распределения информации и планируемой функциональности, объединяя в себе сведения о состоянии и операциях.
- Реализации. Класс дорабатывается до такого вида, в каком он максимально удобен для воплощения в выбранной среде разработки; при этом не воспрещается опустить в нём те общие свойства, которые не применяются на выбранном языке программирования.
Описание классов и его элементов