← Все новости
Go vs GoF: положите паттерны ООП на пол и отойдите

Go vs GoF: положите паттерны ООП на пол и отойдите

Язык Go сейчас очень популярен, и на него переходит много разработчиков с Java, C#, PHP и Python.У многих возникают проблемы с Go по одной любопытной причине: все кажется слишком простым. «Где наш фабричный метод?», «Где наследование?», «Где привычные паттерны?».Больше 30 лет назад «банда четырех», она же GoF, выпустила книгу Design Patterns, где впервые описала 23 паттерна, которые сейчас считаются классическими. Это была революция: раньше приходилось долго объяснять, что ты делаешь в коде, а теперь можно просто сказать: «Я пишу адаптер».Пару раз я встречала в описаниях вакансий на позицию Go‑разработчика требования знать ООП‑паттерны. Или слышала мнение, что Go частично реализует ООП, или что это вообще недо‑ООП язык. При этом сами разработчики языка на вопрос «Является ли Go ООП языком?» отвечают уклончиво: и да, и нет.В этой статье я хочу обсудить особенности Go, которые, на мой взгляд, формируют собственные паттерны — те, что реализуют поведение классических ООП‑паттернов, но делают это в своем гошном стиле. Читать далее