Это способ
- некая методика по решению той или иной проблемы, которую потребуется написать самостоятельно и возможно адаптировать под конкретную реализацию
- это описание решения проблемы, реализация которой может быть различной
Если говорят о Паттернах
то выделяют пункты
- проблемы, которые решают паттерны
- структура классов, составляющих решение
- примерная реализация
Зачем нужен Паттерн?
Забить гвоздь можно по разному…
Молотком, дрелью, плоскогубцами.
Результат качества будет различный
Паттерны предоставляют
- проверенное решение
- стандартизацию кода
Что приводит к уменьшению допускаемых ошибок и проще к реализации - некий общий подход к решению проблемы, что даёт система типизировать и технически правильно описать структуру проекта
- значительно проще объяснить принцип определённой части системы
достаточно указать, что определённая часть системы работает на основе определённого паттерна - будет легко понимать код другим программистам
Паттернов много
их группируют или классифицируют
- отличается по уровню сложности
- отличается по уровню детализации
- отличается по уровню охвата проектирования системы
Идеомы
наиболее низкоуровневые паттерны
они не универсалы
применимы только в одном языке программирования
Паттерны различают
по их предназначению
группы
- Порождающие паттерны
используются для определённого образа создания новых объектов без внесения в программу лишних зависимостей - Структурные паттерны
показывают различные способы построения связей между объектами. Отвечает за формирование структуры вашего проекта - Поведенческие паттерны
Используется для реализации эффективной коммуникации между объектами. Это некая связь, это больше относится к языку общения обмена данными между объектами