Паттерны проектирования. Вводное занятие.

Краткое содержание: 1. Паттерн. Паттерн (англ. pattern — образец, шаблон, система) — заимствованное слово. Слово «pattern» используется как термин в нескольких дисциплинах и технологиях. Смысл термина «паттерн» всегда уже чем просто «образец», и варьируется в зависимости от области знаний, в которой используется. Слово pattern, в зависимости от контекста, имеет широкий диапазон значений. Паттерн — повторяющийся элемент в различных сферах жизни, в основном в природе и дизайне. Паттерн (психология): набор стереотипных поведенческих реакций или последовательностей действий; объединение сенсорных стимулов как принадлежащих одному классу объектов. Паттерн (информатика) — эффективный способ решения характерных задач проектирования, в частности проектирования компьютерных программ. 2. Определение. Паттерн (англ. design pattern) — повторимая архитектурная конструкция, представляющая собой решение проблемы проектирования в рамках некоторого часто возникающего контекста. Обычно шаблон не является законченным образцом, который может быть прямо преобразован в код; это лишь пример решения задачи, который можно использовать в различных ситуациях. 3. 4 стадии применения паттернов. Ух ты! Я узнал что такое паттерн, надо куда-то его запилить! Ого! Я применил в программе 7 паттернов и стало намного лучше! Ух блин! Как теперь в этой мешанине разобраться кто и куда передает данные? Хм. Надо смотреть что за задача и понимать какой паттерн и в каком варианте может быть полезен. 5. UML. UML (англ. Unified Modeling Language — унифицированный язык моделирования) — язык графического описания для объектного моделирования в области разработки программного обеспечения, моделирования бизнес-процессов, системного проектирования и отображения организационных структур. UML был создан для определения, визуализации, проектирования и документирования, в основном, программных систем. UML не является языком программирования, но на основании UML-моделей возможна генерация кода. 6. Диаграммы. Структурные диаграммы: диаграмма классов; диаграмма компонентов; диаграмма композитной/составной структуры; диаграмма кооперации (UML2.0); диаграмма развёртывания; диаграмма объектов; диаграмма пакетов; диаграмма профилей (UML2.2). Диаграммы поведения: диаграмма деятельности; диаграмма состояний; диаграмма вариантов использования. Диаграммы взаимодействия: диаграмма коммуникации (UML2.0) / диаграмма кооперации (UML1.x); диаграмма обзора взаимодействия (UML2.0); диаграмма последовательности; диаграмма синхронизации (UML2.0). 7. Диаграмма классов. Диаграмма классов (англ. Static Structure diagram) — структурная диаграмма, демонстрирующая общую структуру иерархии классов системы, их коопераций, атрибутов (полей), методов, интерфейсов и взаимосвязей между ними. Широко применяется не только для документирования и визуализации, но также для конструирования посредством прямого или обратного проектирования. 8. Уровни представления. Анализа. Класс содержит в себе только набросок общих контуров системы и работает как логическая концепция предметной области или программного продукта. Проектирования. Класс отражает основные проектные решения касательно распределения информации и планируемой функциональности, объединяя в себе сведения о состоянии и операциях. Реализации. Класс дорабатывается до такого вида, в каком он максимально удобен для воплощения в выбранной среде разработки; при этом не воспрещается опустить в нём те общие свойства, которые не применяются на выбранном языке программирования. 9. Описание классов и его элементов. 10. Статические и абстрактные члены. 11. Связи. Обобщение Реализация Зависимость Ассоциация Агрегация Композиция 12. Обобщение (наследование). 13. Реализация. 14. Зависимость. 15. Ассоциация (ссылка). 16. Агрегация (отделимая часть – целое). 17. Композиция (неотделимая часть – целое). 18. Singlton. Гарантирует, что у класса есть только один экземпляр. Обычно используется для доступа к какому-либо ресурсу. 19. Классическая реализация. 20. Ленивая реализация. 21. Ленивая потокобезопасная реализация. 22. Ленивая потокобезопасная реализация с двойной проверкой. 23. Самая короткая реализация. 24. Антипаттерны.
В начало