Re[3]: Асинхронный интерфейс класса
От: Aviator  
Дата: 14.09.10 09:46
Оценка:
Здравствуйте, LF, Вы писали:

C>>а BeginXXX / EndXXX чем плохи?

LF>Тут немного другой случай, методом EndXXX мы требуем результат
LF>в некий момент времени, и не важно был ли он уже получен или нет.
LF>В моем случае класс просто должен информировать когда результат будет готов.

C>>если выбирать из предложенных,я за п.1.

LF>Тоже больше нравиться п1, но достаточно редко его встречаю.

Вызывая EndXXX мы ожидаем завершения операции если она ещё не законченна. Возвращает она результат или нет не имеет значения. В модели Begin/End также предусмотрен механизм обратного вызова. Если вы уверены, что вам никогда не потребуется ожидать завершения, получать нотификации о ходе процесса, отменять операцию, то можно действительно передать в параметры функции колбэк, который будет вызван по завершению операции или реализовать событийную модель с одним событием XXXCompleted.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.