C # Class Design - События и долгосрочные методы - PullRequest
6 голосов
/ 15 февраля 2011

У меня есть класс, у которого есть несколько долгосрочных методов, в которых они выполняют запросы к БД, извлекают список объектов, выполняют итерацию по ним и выполняют некоторые операции ввода-вывода.

Как следует подходить к этому дизайну класса?

Должны ли у меня быть OnComplete события в моем классе, если задание выполнено?

Я хочу дать потребителю возможность отменить / прервать, поэтому недостаточно просто сообщить о завершении метода.

Изначально у меня было BackgroundWorker (и большая частьлогика) в моем коде пользовательского интерфейса, однако я разделил логику, так что все это находится в отдельной библиотеке.

Я рассматривал добавление фонового работника в класс и просто пропустил создание аналогичных событий, которые вызываются фоновым работником,Это лучший подход?

1 Ответ

3 голосов
/ 15 февраля 2011

Нет ничего плохого в использовании фонового работника в вашем классе.Вероятно, вы действительно ищете Асинхронный шаблон на основе событий .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...