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

时间:2012-07-20 10:00:44

标签: c# .net mvvm

在询问question后,我得到了回答新问题的答案

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

4 个答案:

答案 0 :(得分:3)

  1. 无论使用何种上下文,都可以重复使用。
  2. 看点1。

答案 1 :(得分:1)

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

Sux,为什么不考虑这个?

答案 2 :(得分:0)

正如其他答案所说,这维持了ViewModel和View之间的松耦合,但它也坚持Single Responsibility Principle。 ViewModel应该关心如何向用户显示数据吗?这只是View的责任。

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

答案 3 :(得分:0)

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

  

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

viewmodel应该没有对视图的引用