Api 到 MVVM 中的业务模型转换

Api to Business Model Conversion in MVVM

我正在尝试在我的新应用程序中实现 MVVM 结构。我有以下图层。

  1. AViewControler
  2. AViewModel
  3. 经理
  4. 网络管理器
  5. 缓存管理器
  6. 变形金刚

我的 viewcontroller 完美地完成了渲染 ui 并为更改更新视图和视图模型的工作。

现在我需要打电话给 api。 ViewController 要求 Viewmodel 获取数据。它要求 Manager(repository) 获取数据。管理器调用 NetworkManager(完整应用程序通用)来调用 api 并获取数据。

Manager 还使用 body 和 queryparams 创建 urlrequest。 Manager 获取 APIModel 并将其转换为 Cachodel 并提供给 CacheManager 进行写入。

我的经理将 API 模型返回给 viewmodel 并根据其要求uirements,viewmodel 使用 Transformer 层将 apimodel 转换为业务。

现在很纠结是把apimodel交给viewmodel还是在manager层转成businessmodel交给viewmodel

实现此目标的最佳方法是什么,或者我是否已经在架构中做错了。

100% 不确定你的问题,但对我来说,我的控制器只知道 ViewModel。 ViewModel 将调用管理器(存储库)来执行任何操作(逻辑、网络等),然后让控制器知道刷新、更新、渲染 UI... 这样,我就可以遵循单一职责原则。