У нас есть приложение, в котором одной особенностью является генерация вывода, а точнее слайд PowerPoint.Процесс создания выходных данных проходит несколько этапов, прежде чем будет создан окончательный выходной результат.
У нас есть требование записывать каждый этап и, необязательно, артефакты (двоичные файлы), генерируемые на каждом этапе, в конечном итоге, чтобы помочь конечным пользователям иподдержка для диагностики проблем.
Мы следовали подходу DDD для остальной части приложения, и это был путь, но я не согласен с подходом к этому требованию.
Мой первоначальный подходдля каждого запроса пользователя генерировать PowerPoint для DocumentRequest, который будет объединенным корнем.У меня вопрос, как представить шаги и связанные с ними артефакты.Затем создайте отдельный агрегат для шагов, так как я не вижу ни одного инварианта, который должен был бы применяться через запрос.DocumentRequest не будет иметь коллекцию шагов.У каждого шага есть внешний ключ к запросу.
Сходство шкафа, о котором я могу подумать, это то, как VSTS представляет релиз или сборку.Каждая сборка / выпуск состоит из этапов, каждый из которых имеет возможность загружать артефакты или детализацию в текстовый журнал.