Версия источника: 4880e8b4372c96001c2e052be28b68a95d31252b
Синхронизировано: 2026-11-09T11:15:07.649Z
Источник: https://github.com/sergey-from-riders/vibecoding-base/tree/4880e8b4372c96001c2e052be28b68a95d31252b

<a id="backend-boundaries"></a>

# Границы backend

## Коротко

Обработчик переводит запрос в вызов приложения, а доменная логика остаётся переиспользуемой.

## Плохо

```text
HTTP-обработчик сам считает скидку, делает SQL и отправляет письмо.
```

## Хорошо

```text
Обработчик → сервис заказа → хранилище.
Отправка связана с сохранённым событием.
```

## Почему

Логику можно проверять без запуска HTTP и повторно использовать в worker.

## Когда применять

Это инженерное правило справочника, а не требование протокола. Первоисточник описывает подход или механизм; конкретный процесс выбирается проектом.

Количество слоёв соразмерно задаче. Требование ровно одного вызова сервиса не является свойством Go.

## Как проверить

- Можно ли проверить правило скидки отдельно от сети?

## Человек

Определяет бизнес-правила и границы ответственности сервисов.

## Агент

Реализует правило в коде сервиса и проверяет ошибку, отмену и граничные входные данные.

Контроль результата:

- Можно ли проверить правило скидки отдельно от сети?

## Источники

- [Organizing a Go module - The Go Programming Language](https://go.dev/doc/modules/layout)

Уровень: Рекомендуется. Проверено: 2026-11-09. Изменено: 2026-11-09.

[Исходный файл](https://github.com/sergey-from-riders/vibecoding-base/blob/4880e8b4372c96001c2e052be28b68a95d31252b/registry/standards/backend/go/rules/boundaries.md)
