0

问了这个问题后,我得到了新问题的答案

  1. 为什么 UI 不应该知道它显示的逻辑的任何细节?
  2. 为什么 ViewModel 应该对 View 一无所知?
4

4 回答 4

3
  1. 无论在何种上下文中使用,都可以重用。
  2. 看点1。
于 2012-07-20T10:03:25.137 回答
1

一个词来回答您的 2 个问题:紧耦合。进一步的解释包括关注点分离和防止可能导致安全问题的不良编码习惯。

Sux,为什么不考虑这个?

于 2012-07-20T10:06:32.490 回答
0

正如其他答案所说,这保持了 ViewModel 和 View 之间的松散耦合,但它也遵守Single Responsibility Principle。ViewModel 是否应该关心它的数据是如何显示给用户的?这只是视图的责任。

所有课程都应该有 1 个,而且只有 1 个理由来改变。在视图中拥有逻辑意味着您违反了此规则,如果逻辑发生更改,则需要更改它,而只有在 UI 需要更改时才应更改它。

于 2012-07-20T10:15:41.040 回答
0

viewmodel 包含视图逻辑 - 这就是你想要的单元测试。View 只是一个漂亮的界面,它允许用户与您的 ViewModel 进行交互。

为什么 ViewModel 应该对 View 一无所知?

视图模型不应引用视图。

于 2012-07-20T10:35:32.270 回答