Ответственность ViewModel
Я создаю инструмент, целью которого является загрузка файла на основе нескольких параметров.
Первый шаг - установить (или получить) эти параметры.
Различные наборы параметров извлекаются (скажем, через файлы конфигурации) с помощью FileDownloadsManager: он точно знает, какие параметры использовать для загрузки нужного файла.
эти параметры хранятся в классе, и у меня есть список экземпляров этого класса.
Это означает, что я могу загрузить свой файл с несколькими возможными наборами параметров.
Вокруг этих ParameterSets я построил ParametersSetsViewModels, чтобы я мог отобразить их в списке и добавить некоторые свойства только для просмотра. Внутренне ParametersSetsViewModels имеют ссылку на базовые ParametersSets, используемые в качестве источника для членов модели представления.
Теперь, когда я выбираю свой набор параметров, я хотел бы, чтобы соответствующий файл был загружен.
Чья это ответственность?
У меня такое ощущение, что если ViewModel слишком активен, имея метод, который возвращает загруженный файл, это будет против шаблона MVVM; Что вы думаете об этом ?
Бонус: загрузка должна осуществляться в фоновом режиме с помощью асинхронных методов BackgroundWorkers или WebClient.