Блог инженера

History is written by its contributors

Command Pattern в Go: инкапсуляция запросов в объекты

2025-09-29 время чтения 8 мин Patterns Ilya Brin

Command Pattern превращает запросы в объекты. Вместо прямого вызова метода вы создаёте объект-команду, который инкапсулирует всю информацию о действии: что делать, с какими параметрами, на каком объекте.

Это как заказ в ресторане: официант не готовит еду сам, он записывает заказ на бумажке и передаёт на кухню. Бумажка - это команда. Её можно отложить, отменить, повторить или передать другому повару.

Читать далее

Strategy Pattern в Go: выбор алгоритма во время выполнения

2025-08-17 время чтения 9 мин Patterns Ilya Brin

Strategy Pattern - это способ выбирать алгоритм во время выполнения программы. Вместо жёстко зашитой логики вы получаете гибкость: один и тот же код работает с разными алгоритмами, которые можно менять на лету.

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

Читать далее

Facade Pattern в Go: упрощение взаимодействия с подсистемами

2025-06-18 время чтения 9 мин Patterns Ilya Brin

Facade Pattern - это упрощённый интерфейс к сложной системе. Вместо того чтобы разбираться в десятках классов и методов, клиент работает с одним простым фасадом, который скрывает всю сложность внутри.

Это как консьерж в отеле: вы не звоните в прачечную, ресторан и службу уборки отдельно. Вы говорите консьержу, что вам нужно, и он координирует всё за вас.

Читать далее

Singleton Pattern в Go: реализация и случаи использования

2025-06-16 время чтения 4 мин Patterns Ilya Brin

Singleton — один из самых спорных паттернов. Одни называют его антипаттерном, другие используют повсеместно. Разберём, как правильно реализовать Singleton в Go и когда он действительно нужен.

Читать далее

Adapter Pattern в Go: совместимость интерфейсов

2025-06-15 время чтения 8 мин Patterns Ilya Brin

Adapter Pattern решает проблему несовместимости интерфейсов. У вас есть код, который ожидает один интерфейс, и библиотека, которая предоставляет другой. Адаптер — это прослойка, которая делает их совместимыми.

Читать далее

Factory Pattern в Go: создание объектов с помощью фабрик

2025-06-10 время чтения 5 мин Patterns Ilya Brin

Factory Pattern решает одну проблему: как создавать объекты, не привязываясь к конкретным типам. Вместо прямого вызова конструктора используется фабричная функция, которая решает, какой именно объект создать.

Читать далее