2

这是我第一个使用 MVVM 的应用程序,我也在使用 Caliburn.Micro。在过去的两周里,我每天都在阅读有关 MVVM 设计的信息。我了解整体概念,但很难确定如何设计模型部分。原因是我需要从 Web 服务中检索数据。

最基本的应用流程如下: 首次运行应用:

安装应用程序 -> 搜索药房(WebService 调用)-> 选择药房(另一个 Web 服务调用)-> 创建配置文件(Web 服务调用)-> 应用程序主页

第一次运行后:

获取配置文件(Web服务调用)->加载药房->应用程序主页

所以我最终得到的(至少对于应用程序的这一部分)是:-PharmacyList(药房对象列表)

-药房(对象)

-Profile(包含订阅列表的对象(用户已订阅的药房列表)和药房对象(列表中设置应用程序上下文的当前药房)

所有这些对象有时通过每个对象的各种属性相互关联。在某些情况下,on object 的属性被用作另一个对象的 web 服务调用中的参数。

我有以下视图和相应的视图模型:

药房搜索:(接受用于 Web 服务调用以填充药房对象列表的输入。

药房选择:(允许选择药房,药房对象数据用于进行另一个 Web 服务调用以获取详细的药房信息。)

个人资料:允许用户输入个人资料数据并选择他们当前的药房或订阅另一个药房(此处进行各种网络服务调用)。

MainView/View Model:这是用户创建配置文件后的登录页面,并且在所有后续返回应用程序时,此页面将加载当前药房数据和用户配置文件。

从这一点开始,还有各种其他对象、Web 服务等,但我只需要了解这一点。

我的问题是,我应该如何构建我的模型(或者更具体地说是数据层)。我是否应该为每个包含对象定义和特定于该对象的服务类的对象使用 DataStore,以从 API 获取 JSON 数据。或者我应该创建一个包含所有对象的定义和单独的 Web 服务类以获取数据的大型数据存储?在这两种方法中,我应该在 Data Store 中定义我的模型还是使用 Data Store 来获取和设置模型?

目前,我正在使用单个数据存储,该存储具有每个对象的实例并调用通用 Web 服务类。这似乎并不高效或模块化。

4

0 回答 0