/patterns

Design Patterns Reference

Primary LanguagePHP

Patterns

Что это?

Паттерн проектирование - уже готовое и популярное решение определенных проблем при проектировани архитектуры ПО.

Паттерн != алгоритм

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

Если взять описание с Refactoring.guru, то алгоритм — это кулинарный рецепт с чёткими шагами, а паттерн — инженерный чертёж, на котором нарисовано решение, но не конкретные шаги его реализации.

Становится более понятней уровень абстракции.

Что и где?

  1. код
  2. описание

Checklist

Creational

  1. Abstract factory
  2. Factory
  3. Builder
  4. Prototype
  5. Singleton

Structural

  1. Adapter
  2. Bridge
  3. Composite
  4. Decorator
  5. Facade
  6. Flyweight
  7. Proxy

Behavioral

  1. Chain of Responsibility
  2. Command
  3. Iterator
  4. Mediator
  5. Memento
  6. Observer
  7. State
  8. Strategy
  9. Tamplate Method
  10. Visitor