Вопрос, в общем-то простой
Например, у меня есть обработчик файла
Файл должен быть:
принят,
проверен,
сохранен,
переименован,
скопирован
заархивирован
И тд. и в каждом случае, при неудаче , нужно вернуть конкретное сообщение об ошибке (особенно если ориентироваться на удобство для пользователя)
В самом идеальном случае, нужно написать на каждый шаг функцию, возвращающую bool, и если на каком то шаге вернулся false, отдавать юзеру соответствующее сообщение
Но что если на каждом шаге (например, на архивации)может быть несколько вариантов ошибок, и на каждую надо так же отдать юзеру свой текст?
Для меня это частый случай, тк. я обычно так и делаю, в итоге и самому проще разобраться, если что то пошло не так, и люди довольны. Ну и соответственно проблема наболевшая)
Один коллега предложил мне вариант, из каждой "сложной" функции, возвращать DTO (data transfer object) , у которого есть статус, текст и иногда нагрузка, какое то содержимое
и если статус false, делаем return текста
Сейчас вот читаю,некоторые пишут, что dto это зло
Но пишу в целом узнать
1) Какие есть альтернативы
2) Как Вы обычно делаете
3) стоит ли использовать DTO
4) стоит ли использовать его так, как описано выше?
пасыба заранее)