Implementacja mechanizmu wiadomości / subskrypcji w języku C #
Prototypuję aplikację WPF ze wzorem MVVM. Po odpowiedzi nato pytanie UstawiłemModelProviderService
który eksponuje modele jako właściwości. Konsumentami usługi są viewmodele, tzn. Pobierają swoje modele z usługi, zamiast tworzyć je same.
class ModelProviderService {
private LoginModel loginModel;
public LoginModel LoginModel {
get { return loginModel; }
set { loginModel = value; }
}
private ProjectsModel projectsModel;
public ProjectsModel ProjectsModel {
get { return projectsModel; }
set { projectsModel = value; }
}
public ModelProviderService() {
loginModel = new LoginModel();
projectsModel = new ProjectsModel();
}
}
Oto co się stanie:
Model widoku zmienia właściwość np.LoginModel
własność.Model widoku przesuwa właściwość modelu z powrotem do usługi, ustawiając jej właściwość:modelService.LoginModel.MyProperty = localLoginModel.MyProperty;
Serwis opublikuje wiadomość: „Hej, mój model typuLoginModel
właśnie się zmienił. ”Każdy inny model widoku, który subskrybował ten komunikat, ściągnie ten zmieniony model z usługi.Jak mogę wdrożyć:
„wiadomość rozgłoszeniowa”?subskrypcja wiadomości?