Skip to main content

Действия (Actions)

Возможные действия по использованию приложения

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

Принципы:

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