СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до 07.06.2025

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

UML и паттерны проектирования

Категория: Внеурочка

Нажмите, чтобы узнать подробности

Просмотр содержимого документа
«UML и паттерны проектирования»

UML Паттерны проектирования Преподаватель: Галинова Анна Александровна 1

UML

Паттерны проектирования

Преподаватель: Галинова Анна Александровна

1

Проектирование Процесс составления описания, необходимого для создания в заданных условиях еще не существующего объекта  по первичному описанию этого объекта путем его детализации, дополнения, расчетов и оптимизации. 02.12.2022 UML и паттерны проектирования 1 1

Проектирование

Процесс составления описания, необходимого для создания в заданных условиях еще не существующего объекта по первичному описанию этого объекта путем его детализации, дополнения, расчетов и оптимизации.

02.12.2022

UML и паттерны проектирования

1

1

UML Диаграммы 1

UML

Диаграммы

1

Определение UML UML - язык графического описания для объектного моделирования.   Цель UML — визуально представить диаграммы, которые легко понять каждому.     Не является языком программирования, но на основании UML-моделей возможна генерация кода. 02.12.2022 UML и паттерны проектирования 1 1

Определение UML

UML - язык графического описания для объектного моделирования.

Цель UML — визуально представить диаграммы, которые легко понять каждому.  

Не является языком программирования, но на основании UML-моделей возможна генерация кода.

02.12.2022

UML и паттерны проектирования

1

1

Определение  UML Словарь UML включает три вида строительных блоков Диаграммы Сущности Связи Сущности – это абстракции, которые являются основными элементами модели, связи соединяют их между собой,  а диаграммы группируют представляющие интерес наборы сущностей. 02.12.2022 UML и паттерны проектирования 1 1

Определение UML

Словарь UML включает три вида строительных блоков

  • Диаграммы
  • Сущности
  • Связи

Сущности – это абстракции, которые являются основными элементами модели, связи соединяют их между собой, а диаграммы группируют представляющие интерес наборы сущностей.

02.12.2022

UML и паттерны проектирования

1

1

Типы диаграмм 02.12.2022 UML и паттерны проектирования 1 1

Типы диаграмм

02.12.2022

UML и паттерны проектирования

1

1

Диаграмма классов Центральная методика моделирования, которая используется практически во всех объектно-ориентированных методах. Эта диаграмма описывает типы объектов в системе и различные виды статических отношений, которые существуют между ними. 02.12.2022 UML и паттерны проектирования 1 1

Диаграмма классов

Центральная методика моделирования, которая используется практически во всех объектно-ориентированных методах.

Эта диаграмма описывает типы объектов в системе и различные виды статических отношений, которые существуют между ними.

02.12.2022

UML и паттерны проектирования

1

1

Что такое класс Класс - шаблон для создания объектов. Он обеспечивает начальные значения состояний объектов: инициализацию полей-переменных реализацию поведения полей и методов. 02.12.2022 UML и паттерны проектирования 1

Что такое класс

Класс - шаблон для создания объектов.

Он обеспечивает начальные значения состояний объектов:

  • инициализацию полей-переменных
  • реализацию поведения полей и методов.

02.12.2022

UML и паттерны проектирования

1

Класс описывает то,  каким объект может быть 02.12.2022 UML и паттерны проектирования 1

Класс описывает то, каким объект может быть

02.12.2022

UML и паттерны проектирования

1

Класс описывает то,  каким объект может быть 02.12.2022 UML и паттерны проектирования 1

Класс описывает то, каким объект может быть

02.12.2022

UML и паттерны проектирования

1

Переведем класс DOG в UML Верхняя секция: имя класса   Средняя секция:  свойства песика  (атрибуты класса) Нижняя секция:  что может делать песик  (методы или операции класса) 02.12.2022 UML и паттерны проектирования 1

Переведем класс DOG в UML

Верхняя секция: имя класса

 

Средняя секция: свойства песика (атрибуты класса)

Нижняя секция: что может делать песик (методы или операции класса)

02.12.2022

UML и паттерны проектирования

1

Диаграмма классов Наиболее распространенная при разработке ПО.    Похожа на блок-схему, потому что классы представлены в виде блоков. Предлагает визуальное представление о различных классах и о том, как они взаимосвязаны.  02.12.2022 UML и паттерны проектирования 1

Диаграмма классов

Наиболее распространенная при разработке ПО. Похожа на блок-схему, потому что классы представлены в виде блоков.

Предлагает визуальное представление о различных классах и о том, как они взаимосвязаны. 

02.12.2022

UML и паттерны проектирования

1

Из чего состоит блок Верхняя секция: имя класса  Средняя секция: атрибуты класса  Нижняя секция:  методы или операции класса  02.12.2022 UML и паттерны проектирования 1

Из чего состоит блок

Верхняя секция: имя класса 

Средняя секция: атрибуты класса 

Нижняя секция: методы или операции класса 

02.12.2022

UML и паттерны проектирования

1

Из чего состоит блок Атрибуты класса:   Тип атрибута отображается после двоеточия. Атрибуты сопоставляются с переменными в коде. 02.12.2022 UML и паттерны проектирования 1

Из чего состоит блок

Атрибуты класса:

Тип атрибута отображается после двоеточия.

Атрибуты сопоставляются с переменными в коде.

02.12.2022

UML и паттерны проектирования

1

Из чего состоит блок Классовые операции (методы): Это действия, предоставляемые классом. Возвращаемый тип параметров метода отображается после двоеточия после имени параметра.  Операции сопоставляются с методами класса в коде. 02.12.2022 UML и паттерны проектирования 1

Из чего состоит блок

Классовые операции (методы):

Это действия, предоставляемые классом.

Возвращаемый тип параметров метода отображается после двоеточия после имени параметра. 

Операции сопоставляются с методами класса в коде.

02.12.2022

UML и паттерны проектирования

1

Классовые отношения Класс может быть вовлечен в одно или несколько отношений с другими классами 02.12.2022 UML и паттерны проектирования 1

Классовые отношения

Класс может быть вовлечен в одно или несколько отношений с другими классами

02.12.2022

UML и паттерны проектирования

1

Наследование Это схематическое изображение отношения между родительским классом и его наследниками. 02.12.2022 UML и паттерны проектирования 1

Наследование

Это схематическое изображение отношения между родительским классом и его наследниками.

02.12.2022

UML и паттерны проектирования

1

Ассоциация Связь классов. 02.12.2022 UML и паттерны проектирования 1

Ассоциация

Связь классов.

02.12.2022

UML и паттерны проектирования

1

Реализация Отношение интерфейса и объектов, реализующих этот интерфейс. 02.12.2022 UML и паттерны проектирования 1

Реализация

Отношение интерфейса и объектов, реализующих этот интерфейс.

02.12.2022

UML и паттерны проектирования

1

Зависимость Объект одного класса может использовать объект другого класса  в своем методе. 1 02.12.2022 UML и паттерны проектирования

Зависимость

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

1

02.12.2022

UML и паттерны проектирования

Агрегация Когда один класс является частью другого. 1 02.12.2022 UML и паттерны проектирования

Агрегация

Когда один класс является частью другого.

1

02.12.2022

UML и паттерны проектирования

Композиция Разновидность агрегации, только в этом случае, классы, являющиеся частью другого класса, уничтожают, когда уничтожается класс-агрегатор.   Например наше тело состоит из органов, но сами по себе они не жизнеспособны. 1 02.12.2022 UML и паттерны проектирования

Композиция

Разновидность агрегации, только в этом случае, классы, являющиеся частью другого класса, уничтожают, когда уничтожается класс-агрегатор. Например наше тело состоит из органов, но сами по себе они не жизнеспособны.

1

02.12.2022

UML и паттерны проектирования

Имена  отношений 1 02.12.2022 UML и паттерны проектирования 1

Имена отношений

1

02.12.2022

UML и паттерны проектирования

1

Шаблон проектирования или - паттерн 1

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

или - паттерн

1

Определение паттерна Паттерн – повторяющийся элемент в различных сферах жизни.   Паттерн  ( психология ) – набор стереотипных поведенческих реакций или последовательности действий.   Паттерн  ( информатика ) – эффективный способ решения характерных задач проектирования. 1 02.12.2022 UML и паттерны проектирования 1

Определение паттерна

Паттерн – повторяющийся элемент в различных сферах жизни. Паттерн ( психология ) – набор стереотипных поведенческих реакций или последовательности действий. Паттерн ( информатика ) – эффективный способ решения характерных задач проектирования.

1

02.12.2022

UML и паттерны проектирования

1

Определение  паттерна Паттерн – повторимая архитектурная конструкция, представляющая собой решение проблемы проектирования в рамках некоторого часто возникающего контекста. Паттерн описывает задачу, которая часто возникает в работе, а также способ её решения.  Данное решение можно потом использовать много раз и не изобретать ничего заново. 1 02.12.2022 UML и паттерны проектирования 1

Определение паттерна

Паттерн – повторимая архитектурная конструкция, представляющая собой решение проблемы проектирования в рамках некоторого часто возникающего контекста.

Паттерн описывает задачу, которая часто возникает в работе, а также способ её решения. Данное решение можно потом использовать много раз и не изобретать ничего заново.

1

02.12.2022

UML и паттерны проектирования

1

Паттерн  и  архитектура Архитектура приложения  — это логическая структура, описывающая отдельные компоненты, их свойства и связи в виде единой системы. Паттерны  — это описания схем детализации отдельных подсистем приложения и взаимосвязей между ними. При этом паттерны не являются частью программы, не влияют прямо на ее структуру и сохраняют полную независимость от языка программирования конкретной системы . 1 02.12.2022 UML и паттерны проектирования 1

Паттерн и архитектура

Архитектура приложения  — это логическая структура, описывающая отдельные компоненты, их свойства и связи в виде единой системы.

Паттерны  — это описания схем детализации отдельных подсистем приложения и взаимосвязей между ними.

При этом паттерны не являются частью программы, не влияют прямо на ее структуру и сохраняют полную независимость от языка программирования конкретной системы .

1

02.12.2022

UML и паттерны проектирования

1

Основные элементы паттерна Результаты Имя Задача Решение Следствия применения паттерна и разного рода компромиссы. Описание элементов дизайна, отношений между ними, функций каждого элемента. Описывает проблему проектирования,  её решения  и последствия. Описание того, когда следует применять паттерн. 1 02.12.2022 UML и паттерны проектирования 1

Основные элементы паттерна

Результаты

Имя

Задача

Решение

Следствия применения паттерна и разного рода компромиссы.

Описание элементов дизайна, отношений между ними, функций каждого элемента.

Описывает проблему проектирования, её решения и последствия.

Описание того, когда следует применять паттерн.

1

02.12.2022

UML и паттерны проектирования

1

Какие бывают паттерны Порождающие Структурные Поведенческие 29 02.12.2022 UML и паттерны проектирования 29

Какие бывают паттерны

Порождающие

Структурные

Поведенческие

29

02.12.2022

UML и паттерны проектирования

29

Порождающие паттерны Описывают создание объекта  или группы связанных объектов.  Простая фабрика (Simple Factory)  Фабричный метод (Factory Method)  Абстрактная фабрика (Abstract Factory)  Строитель (Builder)  Прототип (Prototype)  Одиночка (Singleton) 29 02.12.2022 UML и паттерны проектирования 30

Порождающие паттерны

Описывают создание объекта или группы связанных объектов.

  • Простая фабрика (Simple Factory)
  • Фабричный метод (Factory Method)
  • Абстрактная фабрика (Abstract Factory)
  • Строитель (Builder)
  • Прототип (Prototype)
  • Одиночка (Singleton)

29

02.12.2022

UML и паттерны проектирования

30

Структурные паттерны Компоновка объектов – как сущности могут использовать друг друга. Адаптер (Adapter) Мост (Bridge) Компоновщик (Composite) Декоратор (Decorator) Фасад (Facade) Приспособленец (Flyweight) Заместитель (Proxy) 30 02.12.2022 UML и паттерны проектирования 30

Структурные паттерны

Компоновка объектов – как сущности могут использовать друг друга.

  • Адаптер (Adapter)
  • Мост (Bridge)
  • Компоновщик (Composite)
  • Декоратор (Decorator)
  • Фасад (Facade)
  • Приспособленец (Flyweight)
  • Заместитель (Proxy)

30

02.12.2022

UML и паттерны проектирования

30

Поведенческие паттерны Связаны с присвоением обязанностей объектам. Описывают структуру и очерчивают шаблоны передачи данных, обеспечивают взаимодействия. Цепочка обязанностей (Chain of Responsibility) Команда (Command) Итератор (Iterator) Посредник (Mediator) Хранитель (Memento) Наблюдатель (Observer) Посетитель (Visitor) Стратегия (Strategy) Состояние (State) Шаблонный метод (Template Method) 30 02.12.2022 UML и паттерны проектирования 30

Поведенческие паттерны

Связаны с присвоением обязанностей объектам.

Описывают структуру и очерчивают шаблоны передачи данных, обеспечивают взаимодействия.

  • Цепочка обязанностей (Chain of Responsibility)
  • Команда (Command)
  • Итератор (Iterator)
  • Посредник (Mediator)
  • Хранитель (Memento)
  • Наблюдатель (Observer)
  • Посетитель (Visitor)
  • Стратегия (Strategy)
  • Состояние (State)
  • Шаблонный метод (Template Method)

30

02.12.2022

UML и паттерны проектирования

30

Фабричный метод (Factory Method) Способ делегирования логики создания объектов дочерним классам. 30 02.12.2022 UML и паттерны проектирования 30

Фабричный метод (Factory Method)

Способ делегирования логики создания объектов дочерним классам.

30

02.12.2022

UML и паттерны проектирования

30

Строитель (Builder) Позволяет создавать разные свойства объекта, избегая загрязнения конструктора. 30 02.12.2022 UML и паттерны проектирования 30

Строитель (Builder)

Позволяет создавать разные свойства объекта, избегая загрязнения конструктора.

30

02.12.2022

UML и паттерны проектирования

30

Адаптер (Adapter) Позволяет помещать несовместимый объект в обёртку, чтобы он оказался совместимым с другим классом.   30 02.12.2022 UML и паттерны проектирования 30

Адаптер (Adapter)

Позволяет помещать несовместимый объект в обёртку, чтобы он оказался совместимым с другим классом.

30

02.12.2022

UML и паттерны проектирования

30

Фасад (Facade) «Interface» «Interface» IФасад IАдрес Предоставляет  упрощённый интерфейс  для сложной подсистемы.   + ЗадатьУлицу() + ЗадатьАдрес() + ЗадатьКорпус() + ПрочитатьАдрес() + ЗадатьДом() + ЗадатьКвартиру() + ПрочитатьУлицу() + ПрочитатьКорпус() + ПрочитатьДом() + ПрочитатьКвартиру() Адрес Фасад + Адрес: String - Улица: String - Корпус: Integer - Дом: Integer - Квартира: Integer 36 02.12.2022 UML и паттерны проектирования 36

Фасад (Facade)

«Interface»

«Interface»

IФасад

IАдрес

Предоставляет упрощённый интерфейс для сложной подсистемы.

+ ЗадатьУлицу()

+ ЗадатьАдрес()

+ ЗадатьКорпус()

+ ПрочитатьАдрес()

+ ЗадатьДом()

+ ЗадатьКвартиру()

+ ПрочитатьУлицу()

+ ПрочитатьКорпус()

+ ПрочитатьДом()

+ ПрочитатьКвартиру()

Адрес

Фасад

+ Адрес: String

- Улица: String

- Корпус: Integer

- Дом: Integer

- Квартира: Integer

36

02.12.2022

UML и паттерны проектирования

36

Цепочка обязанностей  (Chain of Responsibility) преемник Позволяет создавать цепочки объектов. Обработчик Клиент ОбработатьЗапрос() Конкретный Обработчик 1 Конкретный Обработчик 2 ОбработатьЗапрос() ОбработатьЗапрос() 36 02.12.2022 UML и паттерны проектирования 36

Цепочка обязанностей (Chain of Responsibility)

преемник

Позволяет создавать цепочки объектов.

Обработчик

Клиент

ОбработатьЗапрос()

Конкретный Обработчик 1

Конкретный Обработчик 2

ОбработатьЗапрос()

ОбработатьЗапрос()

36

02.12.2022

UML и паттерны проектирования

36

Итератор (Iterator) Способ доступа  к элементам объекта  без раскрытия базового  представления.  Итератор Агрегат Клиент Первый() Следующий() Выполнено() ТекущийЭлемент() СоздатьИтератор () Конкретный Агрегат Конкретный Итератор СоздатьИтератор() 36 02.12.2022 UML и паттерны проектирования 36

Итератор (Iterator)

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

Итератор

Агрегат

Клиент

Первый()

Следующий()

Выполнено()

ТекущийЭлемент()

СоздатьИтератор ()

Конкретный Агрегат

Конкретный

Итератор

СоздатьИтератор()

36

02.12.2022

UML и паттерны проектирования

36

Наблюдатель (Observer) 1..* 1 Определяет зависимость между объектами, чтобы при изменении состояния одного  из них его «подчинённые» узнавали об этом.  ТаблицаБД Диаграмма Круговая Столбиковая Диаграмма Диаграмма ТаблицаMSAccess 36 02.12.2022 UML и паттерны проектирования 36

Наблюдатель (Observer)

1..*

1

Определяет зависимость между объектами, чтобы при изменении состояния одного из них его «подчинённые» узнавали об этом.

ТаблицаБД

Диаграмма

Круговая

Столбиковая

Диаграмма

Диаграмма

ТаблицаMSAccess

36

02.12.2022

UML и паттерны проектирования

36

Стратегия (Strategy) Позволяет переключаться между алгоритмами или стратегиями  в зависимости  от ситуации.  Контекст Стратегия КонтекстИнтерфейс() АлгоритмИнтерфейс() Конкретная Стратегия С Конкретная Стратегия В Конкретная Стратегия А АлгоритмИнтерфейс() АлгоритмИнтерфейс() АлгоритмИнтерфейс() 36 02.12.2022 UML и паттерны проектирования 36

Стратегия (Strategy)

Позволяет переключаться между алгоритмами или стратегиями в зависимости от ситуации.

Контекст

Стратегия

КонтекстИнтерфейс()

АлгоритмИнтерфейс()

Конкретная Стратегия С

Конкретная Стратегия В

Конкретная Стратегия А

АлгоритмИнтерфейс()

АлгоритмИнтерфейс()

АлгоритмИнтерфейс()

36

02.12.2022

UML и паттерны проектирования

36

Вывод Самая трудная задача в объектно-ориентированном проектировании – разложить систему на объекты.   Необходимо учитывать множество факторов. Прежде, чем реализовать идею, которую хочешь разработать – разбери её по частям и создай архитектуру приложения в UML.  36 02.12.2022 UML и паттерны проектирования 36

Вывод

Самая трудная задача в объектно-ориентированном проектировании – разложить систему на объекты. Необходимо учитывать множество факторов.

Прежде, чем реализовать идею, которую хочешь разработать – разбери её по частям и создай архитектуру приложения в UML.

36

02.12.2022

UML и паттерны проектирования

36

Практическая  задача Создать UML – диаграмму интернет-магазина. Описать процесс покупки товара в интернет-магазине (бизнес-процесс покупки).   Из каких объектов он состоит?   36 02.12.2022 UML и паттерны проектирования 36

Практическая задача

Создать UML – диаграмму интернет-магазина.

Описать процесс покупки товара в интернет-магазине (бизнес-процесс покупки). Из каких объектов он состоит?

36

02.12.2022

UML и паттерны проектирования

36

https://online.visual-paradigm.com/drive    36 02.12.2022 UML и паттерны проектирования 36

https://online.visual-paradigm.com/drive

36

02.12.2022

UML и паттерны проектирования

36


Скачать

Рекомендуем курсы ПК и ППК для учителей

Вебинар для учителей

Свидетельство об участии БЕСПЛАТНО!

Поделитесь с друзьями
ВКонтактеОдноклассникиTwitterМой МирLiveJournalGoogle PlusЯндекс