Use Case — единица бизнес-сценария приложения. Термин из Clean Architecture (Uncle Bob). У Cockburn — Interactor.

Один Use Case:

  • Один класс.
  • Один метод execute(command) или run(request).
  • Одна бизнес-цель: «разместить заказ», «отменить подписку», «выдать возврат».

Плохо:

  • Один класс с 10 методами: OrderService.place_order(), .cancel_order(), .refund_order(). Три причины изменения → три класса.

Хорошо:

  • PlaceOrderUseCase, CancelOrderUseCase, RefundOrderUseCase.

Use Case не знает про транспорт (HTTP, AMQP). Принимает PlaceOrderCommand (dataclass), возвращает PlaceOrderResult. HTTP-адаптер сам конвертирует.

Синонимы

InteractorСценарий использования

Не путать с

← ко всему глоссарию