Автор предлагает паттерн для 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
Похожее
28.09.2026
C на Go
Интересный пропозал - добавить возможность сборки Go-пакетов, использующих cgo д...
25.09.2026
Бенчим джейсон
Автор на реальном API с нагрузкой 50M запросов/сутки)сравнивает производительнос...
24.09.2026
Rune
Команда Unstable Build заопенсорсила свою нативную IDE Rune, написанную на Go. ...
23.09.2026
Специализированные аллокаторы
В Go 1.27 появилась оптимизация выделения памяти для объектов размером до 80 бай...