Что такое шаблоны проектирования

В общем случае будем описывать петтерн четырьмя главными частями:
  1. Имя и тип
  2. Проблема
  3. Решение
  4. Реализация (код)

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

Мы будем делить шаблоны на три группы:
  1. Порождающие
  2. Структурные
  3. Поведенческие

Порождающие -

Структурные -

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

Исходя из предложенного деления мы изучим

  1. Порождающие
    1. Абстрактная фабрика (Abstract Factory)
    2. Фабричный метод (Factory Method)
  2. Структурные
    1. Адаптер (Adapter)
    2. Компоновщик (Composite)
    3. Декоратор (Decorator)
  3. Поведенческие
    1. Стратегия (Strategy)
    2. Шаблонный метод (Template Method)
    3. Наблюдатель (Observer)
 
 

Шаблоны проектирования, которые мы изучим в первую очередь:

  1. Абстрактная фабрика (Abstract Factory)
  2. Адаптер (Adapter)
  3. Компоновщик (Composite)
  4. Декоратор (Decorator)
  5. Фабричный метод (Factory Method)
  6. Наблюдатель (Observer)
  7. Стратегия (Strategy)
  8. Шаблонный метод (Template Method)
 
 

Литература:

 
 

Ссылки:

  1. Общие вопросы
    1. Рефакторинг и Паттерны проектирования
    2. Design Patterns & Refactoring
    3. Design Patterns | Object Oriented Design
  2. Реализация на питоне
    1.   pkolt/design_patterns: Паттерны проектирования
    2.   A collection of design patterns/idioms in Python
    3.   Design Patterns. Part 1 - Abstract Factory и Strategy
    4.   Design Patterns. Part 2 - Observer and Mediator
    5.   Design Patterns. Part 3 - Memento and Bridge
    6.   Design Patterns. Part 4 - State and Interpreter