Re[5]: Clean Architecture. Отображение в GUI процесса выполнения длительной опер
От: qaz77  
Дата: 18.09.24 14:33
Оценка:
Здравствуйте, zelenprog, Вы писали:

Z>А если нету таймера? Если все выполняется в одном потоке?


Если писали на Win API или чем-то подобном, то должны понимать, что однопоточность и таймер — не взаимоисключающие вещи.

Z>То есть: по событию формы вызывается контроллер, контроллер создает презентера и вызывает бизнес-операцию... И все это один поток.

Z>Как в этом случае "опрашивать" статус вычислений?
Z>Я то думал, что согласно "чистой архитектуре", бизнес-операция через интерфейс презентера должна сама сообщать о статусе.

Вообще плохой подход.
UI и вычисления в одном потоке — это уровень программ 25 лет назад.
Если деваться некуда, то да, тот или иной вид callback. Вычислительное ядро дергает какой-то интерфейс (слушатель, прогресс, ...) и надо обеспечивать обновление (перерисовку) UI. Весь такой треш с while (PeekMessage(...)), т.к. мы в единственном потоке и не в цикле обработки сообщений, а в стеке вычислительной задачи.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.