Дизайн Qn RE: Общесистемный таймер (C #). Какой таймер в каком слое? - PullRequest
0 голосов
/ 29 июня 2010

Спасибо, что нашли время прочитать этот вопрос.

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

Каков наилучший способ реализации общесистемного таймера?Должно ли оно быть на уровне бизнес-логики или на уровне пользовательского интерфейса?Какой таймер лучше, например, из System.Forms из System.Threading или?Есть ли в этой ситуации эмпирическое правило?

Большое спасибо

1 Ответ

1 голос
/ 29 июня 2010

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

Я бы использовал System.Threading.Timer, который использует свой собственный поток. System.Windows.Forms, напротив, предназначен для использования внутри элемента управления (и я думаю, что выполняется в потоке пользовательского интерфейса).

...