По описанию на ум пришла Команда, а точнее, цепочка команд. Вы делаете что-то по одному условию (выполняете команду), потом выполняется следующая команда, и так далее по цепочке, пока вся макро-команда не будет выполнена и не вернет финальный результат. Плюс такого подхода в том, что можно менять команды местами, добавлять, удалять, разбивать условия и действия на отдельные блоки. Также можно из команд возвращать другие макро-команды и запускать ответвленные цепочки (это вне стандартных реализаций паттерна, но сделать несложно).