Паттерны (шаблоны) необходимы для построения качественной архитектуры приложения. В этой статье кратко и без реализации описано, зачем они нужны и перечислены основные паттерны.
Что это такое?
Шаблон проектирования или паттерн в разработке программного обеспечения — повторяемая архитектурная конструкция, представляющая собой решение проблемы проектирования в рамках некоторого часто возникающего контекста.
Обычно шаблон не является законченным образцом, который может быть прямо преобразован в код; это лишь пример решения задачи, который можно использовать в различных ситуациях. Объектно-ориентированные шаблоны показывают отношения и взаимодействия между классами или объектами, без определения того, какие конечные классы или объекты приложения будут использоваться.
На наивысшем уровне существуют архитектурные шаблоны, они охватывают собой архитектуру всей программной системы. Их примерами может MVVM, MVC в .Net.
Простым языком, паттерны (шаблоны) - это такое решение задачи, которое применимо для подобных задач.
Зачем нужны?
Может возникнуть ситуация, когда необходимо сделать такую реализацию взаимодействия кода, которая будет реализована качественно / будет работать быстро.
Так задачи у всех разные! Не совсем. Иногда базовые вещи совпадают. Паттерны позволяют реализовать гибкую архитектуру.
Какие есть паттерны?
Паттерны реализующие архитектуру приложения:
- Model-View-ViewModel (MVVM) - Используется для разделения модели и её представления, что необходимо для их изменения отдельно друг от друга. Например, разработчик задаёт логику работы с данными, а дизайнер работает с пользовательским интерфейсом.
- Model-View-Controller (MVC) - схема разделения данных приложения, пользовательского интерфейса и управляющей логики на три отдельных компонента: модель, представление и контроллер — таким образом, что модификация каждого компонента может осуществляться независимо.
Паттерны проектирования:
- Порождающие. Паттерны, которые реализуют создание определенных объектов разными способами.
- Структурные. Реализуют структуры работы и взаимодействия между объектами.
- Поведения. Паттерны, которые реализуют структуру, где объекты могут зависить от чего-либо и можно удобно работать с зависимостями.
- SOLID. Принципы проектирования и программирования, которые рекомендуются к использованию.
Итог
Для реализации качественных и быстрых проектов рекомендуется использование паттернов, особенно принципов SOLID. Однако, стоит знать, когда их применять, иначе это может привести к нагромождения кода. Для этого нужно хорошо разобраться в каждом.
В будущем на канале будут детальные обзоры каждого паттерна.
Телеграмм канал: https://t.me/dotnetreview
Источники: Паттерны Wiki, MVC Wiki, MVVM Wiki, SOLID Wiki