Шаблон проектирования (design pattern) — это общее типовое решение некоторой проблемы, многократно повторяемое в процессе проектирования архитектуры программного продукта. Они показывают отношения и взаимодействия между классами, позволяют сделать систему гибкой и легко изменяемой. За счет их правильного использования повышается коэффициент использования готовых решений.
Предполагается, что читатель осведомлен о понятиях ООП и знает в чем разница между интерфейсом и абстрактным классом. Знает что такое полиморфизм, инкапсуляция и наследование. Если вы не уверены в своих силах, рекомендую к прочтению статью из википедии «Объектно-ориентированное программирование».
Понятия
- Здесь и далее в статьях я буду употреблять «паттерн» (pattern) вместо русского аналога «шаблон»
- Инстанация (instanate) — процесс создания объекта определенного класса.
- Код клиента — это код программиста, который будет работать с нашей частью программы по принципу черного ящика, т.е. только через публичный интерфейс
Список
-
Порождающие
-
Структурные
-
Паттерны поведения
- Chain of Responsibility (Цепочка обязанностей)
- Command (Команда)
- Interpreter (Интерпретатор)
- Iterator (Итератор)
- Mediator (Посредник)
- Memento (Хранитель)
- Observer (Наблюдатель)
- State (Состояние)
- Strategy (Стратегия)
- Chain of Responsibility (Цепочка обязанностей)
- Template Method (Шаблонный метод)
- Visitor (Посетитель)