Краткое содержание:
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. Антипаттерны.
16 views
0
0
11 months ago 00:06:20 1
C++. Паттерн проектирования программ “Декоратор (Decorator)“.
11 months ago 00:08:50 1
C++. Паттерн проектирования программ “Компоновщик (Composite)“.
11 months ago 00:06:32 1
C++. Паттерн проектирования программ “ Мост (Bridge)“.
11 months ago 00:07:50 1
C++. Паттерн проектирования программ “ Адаптер (Adapter)“. Реализация на уровне классов.
11 months ago 00:06:46 1
C++. Паттерн проектирования программ “ Адаптер (Adapter)“. Реализация на уровне объектов.
11 months ago 00:04:17 1
C++. Паттерн проектирования программ “Прототип (Prototype)“.
11 months ago 00:05:21 1
C++. Паттерн проектирования программ “Одиночка (Singleton)“.
11 months ago 00:11:15 1
C++. Паттерн проектирования программ “Строитель (Builder)“.
11 months ago 00:08:38 1
C++. Паттерн проектирования программ “Абстрактная фабрика (Abstract Factory)“.
11 months ago 00:05:33 1
C++. Паттерн проектирования программ “Фабричный метод (FactoryMethod)“.
11 months ago 00:58:38 1
Минимальный уровень python для первой работы
11 months ago 00:45:30 1
Алексей Корюкин — Что нового в интерфейсе ОС Аврора 5: управление и паттерны взаимодействия
11 months ago 00:39:31 1
Особенности проектирования под ОС Аврора // Марина Салова, МойОфис
11 months ago 00:39:04 1
Кто не станет Go Junior Разработчиком в 2023? КНИГИ ВАКАНСИИ СОВЕТЫ
11 months ago 00:32:46 1
Автоматизация тестирования на С#
11 months ago 00:34:22 2
ХОЧЕШЬ ВЫУЧИТЬ Python? Давай вместе :)
12 months ago 01:02:14 1
[SafeCode Live] Secure by design
12 months ago 00:23:11 1
Паттерны проектирования в Java с нуля ➤ Паттерн Factory Method
12 months ago 00:05:06 1
9 Паттерн проектирования State Состояние
12 months ago 00:24:14 1
Абстрактная фабрика. Паттерны проектирования — обмен простоты на гибкость?
12 months ago 02:28:48 1
Искусственный интеллект и нейронные сети C#. Машинное обучение для начинающих. Простая нейросеть.