MVVM-C:为什么要将协调器连接到ViewModel而不是视图?

MVVM-C:为什么要将协调器连接到ViewModel而不是视图?,mvvm,architecture,Mvvm,Architecture,我读了很多关于MVVM-C(特别是Swift)的博客文章,总是会触发一个导航视图=>ViewModel=>Coordinator 在视图(控制器)和协调器之间建立一个引用以避免ViewModel的中间步骤不是更容易吗?视图(控制器)不知道协调器的原因是什么?我同意上述观点,但想补充一些理由: 在SOLID的单一责任之后,MVVM中的View的ViewController不应负责屏幕转换并通知协调人应发生转换 屏幕转换是业务逻辑的一部分。因此,它可以在ViewModel中触发,这是一个很好的地方。

我读了很多关于MVVM-C(特别是Swift)的博客文章,总是会触发一个导航视图=>ViewModel=>Coordinator

在视图(控制器)和协调器之间建立一个引用以避免ViewModel的中间步骤不是更容易吗?视图(控制器)不知道协调器的原因是什么?

我同意上述观点,但想补充一些理由:

SOLID
单一责任之后,
MVVM
中的
View
ViewController
不应负责屏幕转换并通知协调人应发生转换

屏幕转换是业务逻辑的一部分。因此,它可以在
ViewModel
中触发,这是一个很好的地方。

我同意上面的观点,但想补充一些理由:

SOLID
单一责任之后,
MVVM
中的
View
ViewController
不应负责屏幕转换并通知协调人应发生转换


屏幕转换是业务逻辑的一部分。因此,它可以在
ViewModel
中触发,这是一个很好的地方。

您的答案非常主观,因为可以认为屏幕转换不是业务逻辑的一部分,而是应用程序逻辑的一部分。也可以说业务逻辑属于模型,而不是ViewModel。您的答案非常主观,因为可以认为屏幕转换不是业务逻辑的一部分,而是应用程序逻辑的一部分。也可以说业务逻辑属于模型,而不是ViewModel。