Добро пожаловать в эту новую серию из восьми частей, где мы обсудим одну из самых влиятельных и спорных тем в программировании, а именно шаблоны проектирования.
Возможно, вам знаком этот термин, я даже могу поспорить, что вы уже слышали, как коллега или коллега говорили о шаблонах дизайна раньше. Но, каковы они и какие преимущества приносят на стол? Давайте взглянем.
Шаблоны проектирования
Шаблон проектирования – это многократно используемое решение повторяющейся проблемы в данном контексте. Это означает, что они являются хорошо проверенными решениями общих проблем в программировании программного обеспечения, и некоторые эксперты обычно считают их лучшими практиками.
Шаблоны проектирования были официально представлены в книге “Шаблоны проектирования – элементы многоразового объектно-ориентированного программного обеспечения”, написанной Эрихом Гаммой, Ричардом Хелмом, Ральфом Джонсоном и Джоном Влиссидом. Авторы также известны как Банда четырех (GoF).
Первоначально ГоФ определил 23 шаблона проектирования. Однако в связи с тем, что новые парадигмы программирования и новые стеки программирования выпускаются все чаще, в настоящее время мы не знаем официальной суммы, но ожидаем гораздо большего числа.
Шаблоны проектирования можно разделить на три основные категории:
- Шаблоны создания: Они имеют дело с механизмами создания объектов.
- Структурные шаблоны: Они помогают проектировать большие структуры.
- Поведенческие Паттерны: Они связаны с алгоритмами и распределением обязанностей.
Выгоды
Основное преимущество шаблонов проектирования заключается в том, что они обеспечивают хорошо проверенные решения известных проблем. Однако мы также можем перечислить следующие преимущества:
- Они обеспечивают общий язык и жаргон для программистов. Например, когда программист заявляет, что он/она реализовал шаблон “X” в данном классе, это обычно общеизвестно для остальной команды.
- Они помогают вам быстрее писать код, внедряя хорошо известные и проверяемые решения.
- Они помогают вам писать более разборчивый и поддерживаемый код.
Критика
Некоторые эксперты утверждают, что шаблоны проектирования вносят ненужную сложность в ваш код. Отчасти это верно, шаблоны проектирования развили в программистах некоторую “ленивость”, потому что они не будут искать более простых решений, прежде чем перейти непосредственно к шаблонам проектирования, это особенно верно для младших разработчиков. Помните, что должен быть “общий” контекст для использования шаблонов проектирования, и даже в этом случае мы должны попытаться найти более простые решения, прежде чем внедрять новый шаблон проектирования, который вы только что прочитали.
Шаблоны проектирования – это передовая практика, хорошо проверенные решения распространенных проблем. Они не являются каким-то волшебным рецептом для решения всех наших проблем. Вам решать, где вы применяете конкретный шаблон и как адаптировать его к выбранному вами языку, структуре и решению.
Наиболее распространенные шаблоны проектирования
Мы рассмотрим наиболее распространенные и используемые шаблоны:
- Синглтон
- Стратегия
- Наблюдатель
- Фабрика
- Адаптер
- Строитель
- Государство
В следующем посте мы поговорим об одноэлементном шаблоне.
Оригинал: “https://dev.to/victorpinzon1988eng/most-common-design-patterns-4mp4”