Файл: Паттерны проектирования (Design patterns) Лекция Что такое паттерны проектирования.pptx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 05.05.2024
Просмотров: 22
Скачиваний: 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 |