обязательно в .net/c#, можно и на других языках / технологиях, как вы организуете процессы, состоящие их нескольких вызовов api, но являющихся частью одного бизнес-флоу?
Например, регистрация пользователя состоит из 4-5 последовательных вызовов api -
sign-up, send-confirmartion-code, apply-confirmation-code, get-sign-up-security-token, confirm-sign-up
.
Конечно, можно каждый из этих методов держать в виде отдельного сервиса/метода, но так выходит не очень удобно - флоу разбросан по нескольким файлам/классам.
Пытались ли вы организовать весь флоу в виде одного класса/метода в виде стейт-машины, например?
Или писали/использовали какой-нибудь workflow-движок?
Если вкратце это state machine, но реализация может быть простой, например в базе хранить статусы. Если говорить шире, то это процесс онборлинга, где все может произойти, например, не получен токен, бэкенд упал и пр. Тут можно нарисовать BPM или workflow процесс, чтобы откатить правильно.
Да, можно говорить шире, но только тогда, когда это действительно потребуется. Преждевременное абстрагирование и обобщение для гипотетических будущих кейсов это всегда путь к проблемам
Обсуждают сегодня