1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/Bwar-Nebula

Клонировать/Скачать
step.md 2.2 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 28.11.2024 22:21 646366b

Одиночный шаг рекурсивного вызова

Одиночный шаг рекурсивного вызова, строго говоря, не является цепочкой вызовов шага, и это также не рекомендуемый способ применения Nebula. Однако при необходимости и если это не приведёт к путанице в бизнес-логике, его можно использовать надлежащим образом. Этот метод заключается в создании только одного шага, который в своём Callback() снова вызывает свой собственный Emit(), а когда завершается — полностью определяется самим шагом. Псевдокод:

class StepOne
{
public:
    E_CMD_STATUS Emit(...)
    {
        ++m_iEmitNo;
        switch (m_iEmitNo)
        {
            case 1:
                return EmitFirst();
            case 2:
                return EmitSecond();
            case 3:
                return EmitThird();
        }
    }

    E_CMD_STATUS Callback(...)
    {
        switch (m_iEmitNo)
        {
            case 1:
                CallbackFirst(...);
                return Emit();
            case 2:
                CallbackSecond(...);
                return Emit();
            case 3:
                return CallbackThird(...);
        }
    }

    E_CMD_STATUS Timeout(){...}
};

Заключение о цепочке вызовов шагов

Дизайн шага довольно изобретателен и предлагает различные способы комбинирования. Вышеупомянутая цепочка вызовов рекомендуется Nebula, но могут быть и другие комбинации, которые разработчики могут предложить официальному представителю Nebula. Кроме того, динамические комбинации цепочки вызовов шагов будут описаны в разделе «Цепочка».

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/Bwar-Nebula.git
git@api.gitlife.ru:oschina-mirror/Bwar-Nebula.git
oschina-mirror
Bwar-Nebula
Bwar-Nebula
master