- Действия представляют собой Варианты использования Приложения (действия, которые могут быть выполнены Пользователем или Программным обеспечением в Приложении).
- Действия МОГУТ содержать бизнес-логику и/или организовывать Задачи для выполнения бизнес-логики.
- Действия принимают структуры данных в качестве входных данных, манипулируют ими в соответствии с бизнес-правилами внутри или через некоторые задачи, а затем выводят новые структуры данных.
- Действия НЕ ДОЛЖНЫ заботиться о том, как собираются данные или как они будут представлены.
- Просто взглянув на папку «Действия» контейнера, вы можете определить, какие варианты использования (функции) предоставляет ваш контейнер.
- И, глядя на все действия, вы можете сказать, что может сделать приложение.
- Каждое действие ДОЛЖНО отвечать за выполнение одного варианта использования в приложении.
- Действие МОЖЕТ извлекать данные из задач
Tasks и передавать данные в другую задачу Task.
- Действие МОЖЕТ вызывать несколько задач
Tasks. (Они могут даже вызывать задачи из других модулей!).
- Действия МОГУТ возвращать данные контроллеру.
- Действия НЕ ДОЛЖНЫ возвращать ответ. (Работа контроллера - вернуть ответ)
- Действие НЕ ДОЛЖНЫ вызывать другое действие (если вам нужно повторно использовать большой фрагмент бизнес-логики в нескольких действиях, и этот фрагмент вызывает некоторые задачи, вы можете создать поддействие).
- Действия в основном используются из контроллеров. Однако их можно использовать из прослушивателей событий, команд и/или других классов. Но их НЕ ДОЛЖНО использовать из задач
Tasks.
- Каждое действие ДОЛЖНО иметь только одну функцию с именем
run().
- Основная функция действия
run() может принимать объект запроса в качестве параметра.
- Действия отвечают за обработку всех ожидаемых исключений.