Презентация - UML и паттерны проектирования
- Рубрика: Презентации / Другие презентации
- Просмотров: 0
Презентация для классов "Презентация - UML и паттерны проектирования" онлайн бесплатно на сайте электронных школьных презентаций uchebniki.org.ua
Проектирование
Процесс составления описания, необходимого для создания в заданных условиях еще не существующего объекта
по первичному описанию этого объекта путем его детализации, дополнения, расчетов и оптимизации.
02.12.2022
UML и паттерны проектирования
2
Определение UML
UML - язык графического описания для объектного моделирования.
Цель UML — визуально представить диаграммы, которые легко понять каждому.
Не является языком программирования, но на основании UML-моделей возможна генерация кода.
02.12.2022
UML и паттерны проектирования
4
Определение UML
Словарь UML включает три вида строительных блоков
Диаграммы
Сущности
Связи
Сущности – это абстракции, которые являются основными элементами модели, связи соединяют их между собой,
а диаграммы группируют представляющие интерес наборы сущностей.
02.12.2022
UML и паттерны проектирования
5
Диаграмма классов
Центральная методика моделирования, которая используется практически во всех объектно-ориентированных методах.
Эта диаграмма описывает типы объектов в системе и различные виды статических отношений, которые существуют между ними.
02.12.2022
UML и паттерны проектирования
7
Что такое класс
02.12.2022
UML и паттерны проектирования
8
Класс - шаблон для создания объектов.
Он обеспечивает начальные значения состояний объектов:
инициализацию полей-переменных
реализацию поведения полей и методов.
Переведем класс DOG в UML
02.12.2022
UML и паттерны проектирования
11
Верхняя секция: имя класса
Средняя секция:
свойства песика
(атрибуты класса)
Нижняя секция:
что может делать песик
(методы или операции класса)
Диаграмма классов
02.12.2022
UML и паттерны проектирования
12
Наиболее распространенная при разработке ПО.
Похожа на блок-схему, потому что классы представлены в виде блоков.
Предлагает визуальное представление о различных классах и о том, как они взаимосвязаны.
Из чего состоит блок
02.12.2022
UML и паттерны проектирования
13
Верхняя секция: имя класса
Средняя секция: атрибуты класса
Нижняя секция:
методы или операции класса
Из чего состоит блок
02.12.2022
UML и паттерны проектирования
14
Атрибуты класса:
Тип атрибута отображается после двоеточия.
Атрибуты сопоставляются с переменными в коде.
Из чего состоит блок
02.12.2022
UML и паттерны проектирования
15
Классовые операции (методы):
Это действия, предоставляемые классом.
Возвращаемый тип параметров метода отображается после двоеточия после имени параметра.
Операции сопоставляются с методами класса в коде.
Классовые отношения
02.12.2022
UML и паттерны проектирования
16
Класс может быть вовлечен в одно или несколько отношений с другими классами
Наследование
02.12.2022
UML и паттерны проектирования
17
Это схематическое изображение отношения между родительским классом и его наследниками.
Реализация
02.12.2022
UML и паттерны проектирования
19
Отношение интерфейса и объектов, реализующих этот интерфейс.
Зависимость
20
Объект одного класса может использовать объект другого класса
в своем методе.
02.12.2022
UML и паттерны проектирования
Композиция
22
Разновидность агрегации, только в этом случае, классы, являющиеся частью другого класса, уничтожают, когда уничтожается класс-агрегатор.
Например наше тело состоит из органов, но сами по себе они не жизнеспособны.
02.12.2022
UML и паттерны проектирования
Определение паттерна
Паттерн – повторяющийся элемент в различных сферах жизни.
Паттерн (психология) – набор стереотипных поведенческих реакций или последовательности действий.
Паттерн (информатика) – эффективный способ решения характерных задач проектирования.
25
02.12.2022
UML и паттерны проектирования
Определение паттерна
Паттерн – повторимая архитектурная конструкция, представляющая собой решение проблемы проектирования в рамках некоторого часто возникающего контекста.
Паттерн описывает задачу, которая часто возникает в работе, а также способ её решения.
Данное решение можно потом использовать много раз и не изобретать ничего заново.
26
02.12.2022
UML и паттерны проектирования
Паттерн и архитектура
Архитектура приложения — это логическая структура, описывающая отдельные компоненты, их свойства и связи в виде единой системы.
Паттерны — это описания схем детализации отдельных подсистем приложения и взаимосвязей между ними.
При этом паттерны не являются частью программы, не влияют прямо на ее структуру и сохраняют полную независимость от языка программирования конкретной системы.
27
02.12.2022
UML и паттерны проектирования
Основные элементы паттерна
Имя
Описывает проблему проектирования,
её решения
и последствия.
Задача
Описание того, когда следует применять паттерн.
Решение
Описание элементов дизайна, отношений между ними, функций каждого элемента.
Результаты
Следствия применения паттерна и разного рода компромиссы.
28
02.12.2022
UML и паттерны проектирования
Какие бывают паттерны
Порождающие
Структурные
Поведенческие
29
02.12.2022
UML и паттерны проектирования
Порождающие паттерны
Описывают создание объекта
или группы связанных объектов.
Простая фабрика (Simple Factory)
Фабричный метод (Factory Method)
Абстрактная фабрика (Abstract Factory)
Строитель (Builder)
Прототип (Prototype)
Одиночка (Singleton)
30
02.12.2022
UML и паттерны проектирования
Структурные паттерны
Компоновка объектов – как сущности могут использовать друг друга.
Адаптер (Adapter)
Мост (Bridge)
Компоновщик (Composite)
Декоратор (Decorator)
Фасад (Facade)
Приспособленец (Flyweight)
Заместитель (Proxy)
31
02.12.2022
UML и паттерны проектирования
Поведенческие паттерны
Связаны с присвоением обязанностей объектам.
Описывают структуру и очерчивают шаблоны передачи данных, обеспечивают взаимодействия.
Цепочка обязанностей (Chain of Responsibility)
Команда (Command)
Итератор (Iterator)
Посредник (Mediator)
Хранитель (Memento)
Наблюдатель (Observer)
Посетитель (Visitor)
Стратегия (Strategy)
Состояние (State)
Шаблонный метод (Template Method)
32
02.12.2022
UML и паттерны проектирования
Фабричный метод (Factory Method)
Способ делегирования логики создания объектов дочерним классам.
33
02.12.2022
UML и паттерны проектирования
Строитель (Builder)
Позволяет создавать разные свойства объекта, избегая загрязнения конструктора.
34
02.12.2022
UML и паттерны проектирования
Позволяет помещать несовместимый объект в обёртку, чтобы он оказался совместимым с другим классом.
35
02.12.2022
UML и паттерны проектирования
Адаптер (Adapter)
Предоставляет
упрощённый интерфейс
для сложной подсистемы.
«Interface»
IАдрес
+ ЗадатьУлицу()
+ ЗадатьКорпус()
+ ЗадатьДом()
+ ЗадатьКвартиру()
+ ПрочитатьУлицу()
+ ПрочитатьКорпус()
+ ПрочитатьДом()
+ ПрочитатьКвартиру()
«Interface»
IФасад
+ ЗадатьАдрес()
+ ПрочитатьАдрес()
Адрес
- Улица: String
- Корпус: Integer
- Дом: Integer
- Квартира: Integer
Фасад
+ Адрес: String
36
02.12.2022
UML и паттерны проектирования
Фасад (Facade)
Позволяет создавать цепочки объектов.
Клиент
Обработчик
ОбработатьЗапрос()
Конкретный Обработчик 1
ОбработатьЗапрос()
Конкретный Обработчик 2
ОбработатьЗапрос()
преемник
37
02.12.2022
UML и паттерны проектирования
Цепочка обязанностей
(Chain of Responsibility)
38
02.12.2022
UML и паттерны проектирования
Способ доступа
к элементам объекта
без раскрытия базового
представления.
Первый()
Следующий()
Выполнено()
ТекущийЭлемент()
Агрегат
СоздатьИтератор()
Клиент
Итератор
Конкретный Агрегат
СоздатьИтератор()
Конкретный
Итератор
Итератор (Iterator)
39
02.12.2022
UML и паттерны проектирования
Определяет зависимость между объектами, чтобы при изменении состояния одного
из них его «подчинённые» узнавали об этом.
ТаблицаБД
ТаблицаMSAccess
Круговая
Диаграмма
Диаграмма
1..*
1
Столбиковая
Диаграмма
Наблюдатель (Observer)
40
02.12.2022
UML и паттерны проектирования
Позволяет переключаться между алгоритмами или стратегиями
в зависимости
от ситуации.
Контекст
КонтекстИнтерфейс()
Стратегия
АлгоритмИнтерфейс()
Конкретная Стратегия А
АлгоритмИнтерфейс()
Конкретная Стратегия В
АлгоритмИнтерфейс()
Конкретная Стратегия С
АлгоритмИнтерфейс()
Стратегия (Strategy)
Вывод
Самая трудная задача в объектно-ориентированном проектировании – разложить систему на объекты.
Необходимо учитывать множество факторов.
Прежде, чем реализовать идею, которую хочешь разработать – разбери её по частям и создай архитектуру приложения в UML.
41
02.12.2022
UML и паттерны проектирования
Практическая задача
Создать UML – диаграмму интернет-магазина.
Описать процесс покупки товара в интернет-магазине (бизнес-процесс покупки).
Из каких объектов он состоит?
42
02.12.2022
UML и паттерны проектирования