我目前正在构建一个 Windows 8 应用商店应用程序,该应用程序需要我进行多个 Web 服务调用。这些调用返回一个我正在反序列化为对象的 json 字符串。我将 MVVM 设计模式与 Caliburn.Micro 一起用于 WinRT。
最初,为了从对我的每个视图模型的 Web 服务调用中获取数据,我创建了一个类 DataStore,它声明了它自身的一个静态实例。该类具有与我的所有模型相对应的属性。当需要进行 Web 服务调用时,我在“APIData”中调用了一个静态类方法,该方法读取参数字典,将这些参数序列化为 JSON,进行 API 调用并将 JSON 结果返回给 DataStore 类。此时 JSON 被反序列化并用于更新 DataStore 属性。在我的每个 ViewModel 中,我引用了该 VM 的数据上下文所需的任何 DataStore 属性。
这导致重复的代码和非常混乱的 DataStore 类。
我的问题是,在必须使用从 web 服务调用返回的 json 来填充模型的情况下,什么是一个好的设计模式?