Полезны ли паттерны?

#разработка



Ранее, я описывал паттерны. Уверен, что каждый разработчик сталкивался с реализацией конкретного паттерна, иногда не понимая, что это он.



Время от времени, стараюсь изучать и актуализировать существующие паттерны. Есть несколько причин, почему они полезны и для чего их нужно знать:



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



2. Стандартизация. Паттерн одинаков на всех языках программирования. Поэтому, не нужно объяснять другим разработчикам, что именно делается в коде, можно назвать только паттерн.



3. Улучшение кода и проектирования. Паттерны упрощают проектирование. Архитектуру приложения можно делать на основе известного шаблона. В Android, например Clean Architecture.



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



Отличный ресурс, где можно изучать шаблоны Refactoring.Guru. Всё объяснено простым языком, с примерами из жизни. Очень рекомендую.



А вы используете паттерны?