Responsabilidad de un modelo de vista

Estoy creando una herramienta cuyo objetivo es descargar un archivo basado en algunos parámetros.

El primer paso es establecer (o recuperar) esos parámetros.

FileDownloadsManager recupera los diferentes conjuntos de parámetros (digamos a través de los archivos de configuración): sabe exactamente qué parámetros usar para descargar el archivo correcto.

esos parámetros se almacenan en una clase, y tengo una lista de instancias de esta clase.

Eso significa que puedo descargar mi archivo con múltiples conjuntos de parámetros posibles.

En torno a esos ParameterSets, he creado ParametersSetsViewModels para poder mostrarlos en una lista y agregar algunas propiedades de solo lectura. Internamente, los ParametersSetsViewModels tienen una referencia a los ParametersSets subyacentes utilizados como fuente para los miembros del Modelo de vista.

ahora, cuando selecciono mi conjunto de parámetros, me gustaría que se descargue el archivo relacionado.

¿De quién es la responsabilidad?

Tengo la sensación de que si ViewModel está demasiado activo, al tener un método que devuelve el archivo descargado, esto estaría en contra del patrón MVVM; Cuál es su opinión sobre esto ?

Bonificación: la descarga debe ser factible en segundo plano con BackgroundWorkers o los métodos asincrónicos de WebClient.

Respuestas a la pregunta(1)

Su respuesta a la pregunta