Файл: Паттерны проектирования (Design patterns) Лекция Что такое паттерны проектирования.pptx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 05.05.2024

Просмотров: 21

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Паттерны проектирования (Design patterns)

Лекция

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

  • Эффективные способы решения характерных задач проектирования.
  • Обобщенное описание решения задачи, которое можно использовать в различных ситуациях.
  • Показывают отношения и взаимодействия между классами и объектами

Алгоритмы – не паттерны, т.к. решают задачу вычисления, а не программирования !

Кристофер Александер «Язык шаблонов. Города. Здания. Строительство»

«Банда четырёх» (Gang of Four)

  • Эриху Гамма
  • Ричард Хелм
  • Ральф Джонсон
  • Джон Влиссидс

Приемы объектно-ориентированного проектирования. Паттерны проектирования

Паттерн (шаблон) проектирования -

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

Недостатки паттернов

  • не являются решением всех проблем программиста;
  • нельзя их использовать в обязательном порядке, т.к. это может привести к негативным последствиям.
  • шаблоны — это подходы к решению проблем, а не решения для поиска проблем;
  • если паттерны не правильно использовать, то они могут привести к ужасному беспорядку.

Достоинства паттернов

    • Каждый паттерн описывает решение целого класса проблем;
    • Каждый паттерн имеет известное имя:
    • облегчается взаимодействие между разработчиками;
    • правильно сформулированный паттерн проектирования позволяет, отыскав удачное решение, пользоваться им снова и снова;
    • Шаблоны проектирования не зависят от языка программирования.

Классификация паттернов


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

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

Порождающие 

Порождающие 

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


Абстрактная фабрика

Abstract Factory

Строитель

Builder

Фабричный метод

Factory Method

Объектный пул

Object Pool

Прототип

Prototype

Одиночка

Singleton

Отложенная инициализация

Lazy initialization

Мультитон

Multiton

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


Адаптер

Adapter

Мост

Bridge

Компоновщик

Composite

Декоратор

Decorator

Фасад

Facade

Приспособленец

Flyweight

Прокси

Proxy

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


Цепочка обязанностей

Chain of responsibility

Итератор

Iterator

Команда

Command

Посредник

Mediator

Хранитель

Memento

Null Object

Null Object

Наблюдатель

Observer

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


Состояние

State

Стратегия

Strategy

Шаблонный метод

Template method

Посетитель

Visitor

Ссылка на опрос по лекции:

https://forms.gle/kj1LS9hzTkUiP5G89