Вернуться к статьям

Используйте протоколы, а не сервисы: почему ваш код просится на диету

7 мая 2026
2 мин чтения
Используйте протоколы, а не сервисы: почему ваш код просится на диету

Совет, который спасёт вашу архитектуру от ожирения: замените жирные сервисы на стройные протоколы.

Представьте, что вы пришли в ресторан, а официант вместо меню приносит вам полную кухонную документацию: "Вот наш сервис доставки ингредиентов, вот сервис нарезки овощей..." Примерно так выглядит код, где вместо чётких протоколов общения — набор раздутых сервисов. Разработчик Not Not P (да, такой псевдоним) предлагает лечить эту архитектурную одышку.

Идея проста как грабли: договаривайтесь о формате данных и действиях (протокол), а не тащите в каждый угол целый сервис с его методами. Это как перейти от "я позвоню Васе, он передаст Пете" к простому "скинь JSON на порт 8080". Меньше посредников — меньше головной боли при деплое.

Конечно, мир полон hype-архитектур, где микросервисы плодятся как кролики. Но автор напоминает: если ваш сервис умеет только "getUser" и "saveUser", может, хватит его называть сервисом? Протокол с двумя операциями — это не сервис, это функция. А за функцию не стыдно, стыдно за 47 столбцов в JIRA ради этого.

Почему это работает

  • Гибкость: протокол можно переиспользовать в разных сервисах, не переписывая каждый раз API.
  • Тестируемость: проверить протокол проще, чем мокать целый сервис с его зависимостями.
  • Эволюция: протокол живёт дольше, чем конкретная реализация — меняйте сервисы, не меняя контракт.

Комментарий студии METABYTE: Мы тоже любим стройные протоколы — они как чёткое ТЗ, только без лишних страниц. Если ваш проект начал напоминать слона в посудной лавке, maybe пора переходить на протокольную диету?

Протоколы вместо сервисов: советы по архитектуре | METABYTE — METABYTE