Я младший разработчик в торговом приложении ... у нас есть блок подтверждения обновления ордера. Необходимо подтвердить подтверждение заказа от биржи. Мы отправляем кучу разных запросов навалом (NEW, MODIFY, CANCEL) для обмена ... Проверка должна выполняться не более N раз с каждым интервалом T для всех заказов. если проверка прошла успешно для всех заказов, прежде чем N повторится, то все нормально. В противном случае нам нужно указать, что проверка не удалась. я сделал базовое кодирование в очень срочном порядке, как показано ниже
for( N times )
{
for_each ( sent_request_order ) // SENT
{
1) get all the refreshed order from DB or shared mem i.e REFRESHED
2) find current sent order in REFRESHED
if( not_found )
not refreshed from exchange, continue to next order
if( found )
case NEW : //check for new status, mark verification done
case MODIFY : //check for modified status..
//if not mark pending, go to next order,
//revisit the same after T time
case CANCEL : //check for cancelled status..
//if not mark pending, go to next order,
//revisit the same after T time
}
if( all_verified )
exit from verification.
wait ( T sec )
}
order_verification_pending, order_verification_done, order_visited, order_not_visited, all_verified, all_not_verified ... много логических флагов, используемых для индикации ..
Есть ли лучший подход для этого .... Распределение обязанностей по классам ...... ????
я знаю, что это не общий вопрос .... но флаги все еще делают меня утомительным в обращении ...