Автор предлагает паттерн для 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
Похожее
02.07.2026
6 популярных кешей
Автор сравнивает шесть подходов к реализации потокобезопасного in-memory кеша в ...
29.06.2026
Детектор утечек горутин
В Go 1.27 в runtime/pprof добавляется встроенный детектор утечек горутин, принят...
26.06.2026
Мидделвари лимитеров
При использовании цепочки мидлварей, которые выполняют какие-то ограничения, в G...
23.06.2026
Рефлексия
Статья о том, как устроен пакет reflect в Go. Он, кстати, не вычисляет как-то хи...