MVVM: Vinculando ao Modelo Mantendo o Modelo em Sincronização com uma Versão do Servidor

Passei bastante tempo tentando encontrar uma solução elegante para o desafio a seguir. Não consegui encontrar uma solução que fosse mais do que um truque em torno do problema.

Eu tenho uma configuração simples de um View, ViewModel e um modelo. Vou mantê-lo muito simples por uma questão de explicação.

oModel tem uma única propriedade chamadaTitle do tipo String.oModel é o DataContext para oView.oView tem umTextBlock isso é databound paraTitle no modelo.oViewModel tem um método chamadoSave() que salvará oModel para umServeroServer pode empurrar as alterações feitas para oModel

Por enquanto, tudo bem. Agora, há dois ajustes que preciso fazer para manter o Modelo em sincronia com umServer. O tipo de servidor não é importante. Só sei que preciso ligarSave() a fim de empurrar o modelo para oServer.

Ajuste 1:

oModel.Title a propriedade precisará ligarRaisePropertyChanged() a fim de traduzir as alterações feitas aoModel peloServer aoView. Isso funciona bem desde oModel é o DataContext para oView

Não é tão ruim.

Ajuste 2:

O próximo passo é ligarSave() para salvar as alterações feitas a partir doView aoModel noServer. É aqui que fico preso. Eu posso lidar com oModel.PropertyChanged evento noViewModel que chama Save () quando o modelo é alterado, mas isso faz eco das alterações feitas pelo servidor.

Estou à procura de uma solução elegante e lógica e estou disposto a mudar minha arquitetura, se faz sentido.

questionAnswers(5)

yourAnswerToTheQuestion