罗伯特马丁说:"一个班级改变的理由永远不应该超过一个".
让我们考虑绑定到View的ViewModel类.ViewModel可能(甚至可能)由彼此不相关的属性组成.对于小视图,ViewModel可能非常一致,但是当应用程序变得更加复杂时,ViewModel将公开可能因不同和无关原因而发生变化的数据.
我们是否应该在ViewModel类的情况下担心SRP原则?
ViewModel的唯一职责是提供View所需的信息.如果View需要不同且不相关的属性并不重要,因为ViewModel只有一个更改原因,那就是View显示不同的属性.所以你不要太担心.
也就是说,如果ViewModel确实变大了,也许您可以考虑将视图划分为多个子视图以提高可重用性并保持Views和ViewModel的可管理性.