Załóżmy, że mamy aplikację o warstwowej architekturze. W widoku używamy MVC lub MVVM. Model jest traktowany jako domena, ma znaczną część logiki biznesowej.Jak wysłać aktualizacje postępu z klasy biznes/model?
Teraz powiedzmy, że mamy w modelu metodę, która zajmuje trochę czasu. Skomplikowane obliczenia lub zabiegi, które należy wykonać dla każdego elementu obiektu, na przykład.
W interfejsie użytkownika chcemy wyświetlić pasek postępu i tekst, który wyświetli bieżący krok obliczeń (na przykład listbox z całą historią procesu).
Jak byś to zrobił? Jak wysłać z modelu informacje o postępie procesu i jak podłączyć kontroler lub ViewModel, aby zaktualizować postęp?
Dzięki za bardzo kompletną odpowiedź.Miałem pogląd, że wydarzenia są bardzo techniczną kwestią, która nie ma miejsca w warstwie biznesowej. Ale na końcu musi istnieć sposób na przesłanie informacji o przebiegu procesu. – Gimly
@ Gimly: Nie ma za co. Sądzę, że zdarzenia są użyteczne w warstwie biznesowej do implementacji "aktywnych" obiektów; scenariusz w twoim pytaniu jest dobrym przykładem. – CesarGon