Дизайн класса C # - События и длительные методы

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

Как следует подходить к разработке этого класса?

Должен ли я иметь OnComplete событий в моем классе, если задача завершена?

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

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

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

6
задан Rodia 31 March 2017 в 06:32
поделиться