a) Encapsula a lógica de negócio. - Errado (Característica do Model)
b) É responsável por toda a lógica de validação. - Errado (A validação pode ser feita no Model e/ou ViewModel)
c) Apresenta os resultados do aplicativo. - Errado (Característica da View)
d) Disponibiliza para a View uma lógica de apresentação. Correta
ViewModel – A responsabilidade da ViewModel no contexto do MVVM, é disponibilizar para a View uma lógica de apresentação. A View Model não tem nenhum conhecimento específico sobre a view, ou como ela implementada, nem o seu tipo. A ViewModel implementa propriedades e comandos, para que a View possa preencher seus controles e notifica a mesma, caso haja alteração de estado; seja através de eventos ou notificação de alteração. A ViewModel é peça fundamental no MVVM, por que é ela quem vai coordenar as iterações da View com o Model, haja vista, ambos não terem conhecimento um do outro. E além de tudo isto, a ViewModel, também pode implementar a lógica de validação, para garantir a consistência dos dados.
Fonte: http://www.devmedia.com.br/entendendo-o-pattern-model-view-viewmodel-mvvm/18411
O padrão de projeto ViewModel é usado quando temos a necessidade de representar uma 'view' com informações de diversos 'models'. Exemplo: suponha que tenhamos um site de compras, no qual temos produtos e um carrinho de compras. Quando mostrarmos o carrinho de compras, devemos mostrar informações para cada produto (nome, quantidade, preço) além no preço total do produtos. Criar um atributo 'soma' para representar o valor total dos produtos na classe 'Produto' não é uma boa opção, já que essa informação não pertence diretamente ao produto. Então o padrão sugere criar uma classe que resgatará as informações de produto e conterá esse atributo de soma.
E lembre-se do padrão arquitetural 'MVC'. 1 - Modelo: contém a lógico do negócio e representa os dados da aplicação. 2 - View - exibe os dados da aplicação além de receber solicitações do cliente. 3 - Controle - Trata as solicitações disparando o 'Model' ou a 'View'.
Análise:
a) E Quem faz isso é o Modelo
b) E. Pode ser feita tanto no Modelo como no ViewModel.
c) E. Essa é a View.
d) C