Tag: 商业逻辑

具有业务和数据层的Swift MVVM示例

我遇到的大部分Swift MVVM示例都使用dependency injection将Model注入ViewModel,然后将ViewModel注入到ViewController中。 这个注入通常build议在AppDelegate中作为一个单例来处理。 这简单的例子都很好。 然而,在现实世界中,“模型”实际上不仅仅是一个DTO对象,它假定返回模型/ DTO的业务和数据层。 因此,将模型注入AppDelegate级别的ViewModel是不现实的,因为View / ViewController将触发实际的数据刷新。 所以模型注射需要在别处发生。 此外,大多数示例直接从ViewModel到DataAccess,这会导致ViewModel获取大量的业务逻辑,理想情况下它应该保持视图的状态。 有人可以转发一个全面的端到端的Swift MVVM示例与离散分离的业务和数据层。 为了保持这个问题不是基于意见,而是问题/答案的格式,这个例子应该有: 独立的业务逻辑层 独立的数据访问逻辑层 单独的模型/ DTO(仅状态对象) 这个例子还应该清楚地说明: dependency injection发生的地方 在上面定义的层之间有明确的调用层次结构