На этой неделе я узнала, что интерфейс и выполнение математики в комплексе желательно разносить в процессах.
Наверное, я знала это и раньше... но математика, связанная с интерфейсом редко занимала слишком много времени (или меня мало занимало поведение интерфейса... или интерфейс прикручивал другой разработчик).
Однако. Интерфейс должен отвечать и не производить грустного висящего впечатления, пока где-то там прогружается база данных.
Что касается .NET, в С# есть прекрасный готовый класс BackgroundWorker ( http://msdn.microsoft.com/ru-ru/library/system.componentmodel.backgroundworker(v=vs.110).aspx ). Вызов и пара событий и большая часть проблем с отображением прогресса и разделением загрузки, расчетов и поведения интерфейса решена.
Наверное, я знала это и раньше... но математика, связанная с интерфейсом редко занимала слишком много времени (или меня мало занимало поведение интерфейса... или интерфейс прикручивал другой разработчик).
Однако. Интерфейс должен отвечать и не производить грустного висящего впечатления, пока где-то там прогружается база данных.
Что касается .NET, в С# есть прекрасный готовый класс BackgroundWorker ( http://msdn.microsoft.com/ru-ru/library/system.componentmodel.backgroundworker(v=vs.110).aspx ). Вызов и пара событий и большая часть проблем с отображением прогресса и разделением загрузки, расчетов и поведения интерфейса решена.
Комментариев нет:
Отправить комментарий