2011-02-15 12 views
6

DB sorguları yaptıkları, bir nesne listesi aldıkları, yinelemeleri ve bazı IO çalışmaları yaptıkları bazı uzun çalışma yöntemlerine sahip bir sınıfa sahibim.C# Sınıf Tasarım - Olaylar ve uzun süren yöntemler

Bu sınıf tasarımına nasıl yaklaşılmalıdır?

Görev tamamlanırsa, sınıfımda OnComplete olayları mı olmalıdır?

Tüketiciye iptal etme/iptal etme yeteneği vermek istiyorum, bu nedenle yöntem tamamlandığında yeterince raporlama yapılmadığını bildirmek istiyorum.

Başlangıçta, UI kodumda BackgroundWorker (ve mantığın çoğu) vardı, ancak mantığı ayrıştırdım, böylece hepsi ayrı bir kitaplıkta.

Arka plan çalışanını sınıfa eklemeyi ve arka plandaki çalışan tarafından ortaya çıkarılan benzer etkinlikleri oluşturmayı düşünüyorum. Bu en iyi yaklaşım mı?

+0

Jon Skeet en iyi cevabı elde edene kadar beklemeniz gerekebilir. –

+0

Jon Skeet yarın uyuyabilir;) – Josh

cevap

3

Sınıfınızda bir arka plan işçisinin kullanılmasının yanlış bir yanı yok. Muhtemelen gerçekten aradığınız şey Event-based Asynchronous Pattern.

+0

Tam olarak aradığım şey, teşekkürler! – Henno