Api 到 MVVM 中的业务模型转换
Api to Business Model Conversion in MVVM
我正在尝试在我的新应用程序中实现 MVVM 结构。我有以下图层。
- AViewControler
- AViewModel
- 经理
- 网络管理器
- 缓存管理器
- 变形金刚
我的 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...
这样,我就可以遵循单一职责原则。
我正在尝试在我的新应用程序中实现 MVVM 结构。我有以下图层。
- AViewControler
- AViewModel
- 经理
- 网络管理器
- 缓存管理器
- 变形金刚
我的 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... 这样,我就可以遵循单一职责原则。