Автор предлагает паттерн для Go-сервисов: вынести обвязку и все связанное с декодированием, валидацией, приведеним типов, кодированием из каждого хендлера в один обобщённый адаптер Wrap[In, Out] на транспорт.
Сервисная функция остается чистой - func(ctx, In) (Out, error) без малейшего следа HTTP, gRPC или JSON. Для каждого транспорта пишется один Wrap, который принимает decode + service function + encode и возвращает готовый http.Handler или gRPC-handler. Добавление нового эндпоинта сводится к decode/encode + одной строке в роутере, а middleware и интерцепторы работают как обычно, снаружи Wrap.
Старо как мир, но красиво. На фотке, кстати, самый настоящий врап. Погуглите, если не верите
21.05.2026
Похожее
20.05.2026
Движок поиска
Ребята рассказывают в статье про свое поделие - базу данных Antfly Antfly - э...
19.05.2026
LibAFL фаззинг
Trail of Bits выпустила gosentry - форк тулчейна Go, который заменяет штатный фа...
18.05.2026
Используй Go, блять!
Автор в грубой и ультимативной форме призывает выкинуть излишне сложные фреймвор...
15.05.2026
Слайсы, мапы и каналы
Продолжается цикл статей про внутреннее устройство Go. Эта статья разбирает внут...