Инструменты пользователя

Инструменты сайта


pattern

Назад

Введение

Шаблоны проектирования (паттерн, pattern) — это эффективные способы решения характерных задач проектирования, в частности проектирования компьютерных программ. Паттерн не является законченным образцом проекта, который может быть прямо преобразован в код, скорее это описание или образец для того, как решить задачу, таким образом, чтобы это можно было использовать в различных ситуациях. Объектно-ориентированные шаблоны зачастую показывают отношения и взаимодействия между классами или объектами, без определения того, какие конечные классы или объекты приложения будут использоваться. Алгоритмы не рассматриваются как шаблоны, так как они решают задачи вычисления, а не проектирования.

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

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

  1. Выделите аспеты приложения, которые могут изменяться, и отделите их от тех, которые всегда остаются постоянными.
  2. Программируйте на уровне интерфейса, а не на уровне реализации.
  3. Отдавайте предпочтение композиции пере наследованием.
  4. Стремитесь к слабой связанности взаимодействующих объектов.
  5. Классы должны быть открыты для расширения, но закрыты для изменения.
  6. Код должен зависеть от абстракций, а не от конкретных классов.
  7. Принцип минимальной информированности: Общайтесь только с близкими друзьями.

Порождающие шаблоны проектирования

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

Структурные шаблоны

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

Поведенческие шаблоны

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

  1. Observer/Наблюдатель (Dependents, Publish-Subscribe, Listener)

Сайты с описанием паттернов