Действия оказывают влияние на внешний мир или сами подвергаются его влиянию. В общем случае результат выполнения Действий всегда зависит либо от порядка Действий (т.е. от момента выполнения), либо от количества повторений Действия.
Действия в языках программирования реализованы в виде функций или методов.
Смысл Действия - это то влияние, которое оказывается на мир. Обычно это именно та функциональность, которая требуется от приложения. Например, отправка почтового сообщения - это Действие.
Действия сложно тестировать, т.к. необходимо воссоздавать контекст и обеспечивать выполнение предусловий (в частности, по моменту выполнения и количеству повторений Действия). Такие тесты не дают полной гарантии, т.к. не гарантируют аналогичный контекст и предусловия в реальной системе. Более того, действия “распространяются” по стеку вызовов. Любая функция, вызывающая Действие, сама становится Действием.
Тем не менее, Действия - это основная причина, по которой создаются прикладные системы, т.к. они обеспечивают требуемую функциональность приложения. Поэтому с Действиями необходимо работать, но делать это нужно осторожно. Помогут следующие стратегии:
- Использовать как можно меньше Действий.
- Минимизировать размер каждого конкретного Действия. Извлекать подготовительные Вычисления, например.
- Ограничивать Действия точками контакта с внешним миром. Другими словами, Действия нужно вытеснять как можно ближе к точкам входа / выхода системы (обработка входящих запросов, обработка сохранения данных в БД или исходящих запросов).
- Ограничивать зависимость Действий от времени (момента запуска и количества повторений).