Мне нужно некоторое предложение по OOD. Ниже моя ситуация.
Class A{
private B service_;
private StopWatch timer_;
private Const int MinTimeToWait;
public SomeOperation(){
timer_.start();
//call another method on service_ async and subsribe to event for callback
}
private SomeOperationCallback()
{
timer_.stop();
int elapsedTime = timer_.elapsedTime();
if(elapsedTime < MinTimeToWait)
Thread.sleep(MinTimeToWait - elapsedTime)
//Continue after thread resumes
}
}
У меня есть класс, который запускает асинхронную операцию, и после возврата асинхронной операции мне нужно проверить, вернулась ли операция asycn меньше, чем MinTimeToWait, если да, дождитесь завершения MinTimeToWait, а затем продолжите другие операции.
Теперь я поступаю правильно, включив логику для проверки времени и ожидания в SomeOperationCallback, или мне следует создать новый класс, который инкапсулирует логику и StopWatch, и использовать этот класс для этой проверки и ожидания?
Заранее спасибо за ваши ответы.