我正在尝试在我的新应用程序中实现MVVM结构。我有以下几层。
- AViewControler
- AViewModel
- 阿马纳格
- 网络管理器
- 缓存管理器
- A兰斯前者
我的视图控制器可以很好地完成它的工作,即渲染 UI 并更新视图和视图模型以进行更改。
现在当我需要调用 API 时。ViewController 要求 Viewmodel 获取数据。它要求管理器(存储库(获取数据。管理器调用网络管理器(完整应用程序通用(来调用 API 并获取数据。
管理器还创建带有正文和查询参数的 urlrequest。管理器获取APIModel,它将其转换为Cachodel并提供给CacheManager进行写入。
我的管理器将 API 模型返回给视图模型,并根据其要求,视图模型使用转换器层将 apimodel 转换为业务。
现在我困惑于是将 apimodel 提供给视图模型还是将其转换为经理层的业务模型,并将业务模型提供给视图模型。
实现这一目标的最佳方法是什么,或者我已经在架构中做错了什么。
不确定 100% 您的问题,但对我来说,我的控制器只知道 ViewModel。ViewModel 将调用管理器(存储库(来执行任何操作(逻辑、网络等(,然后让控制器知道刷新、更新、渲染 UI... 这样,我就可以遵循单一责任原则。