В настоящее время я создаю приложение для Windows 8 Store, которое требует от меня нескольких вызовов веб-сервисов. Вызовы возвращают строку json, которую я десериализую в объекты. Я использую шаблон проектирования MVVM с помощью Caliburn.Micro для WinRT.Шаблон проектирования доступа к данным
Первоначально, чтобы получить данные от вызовов веб-службы в каждой из моих моделей просмотра, я создал класс DataStore, который объявил статический экземпляр сам по себе. У этого класса были свойства, соответствующие всем моим моделям. Когда требуется вызов веб-службы, я вызвал метод статического класса в «APIData», который читал в словаре параметров, сериализовал эти параметры в JSON, сделал вызов API и вернул результат JSON в класс DataStore. В этот момент JSON был десериализован и использовался для обновления свойств DataStore. В каждой из моих моделей ViewModels я ссылался на то, какое свойство DataStore необходимо для datacontext этой виртуальной машины.
В результате появился повторяющийся код и очень грязный класс DataStore.
Мой вопрос заключается в том, что было бы хорошим шаблоном проектирования для использования, когда json, возвращаемый из вызовов webservice, должен использоваться для заполнения моделей?