问题为应用程序实现MVVM模式

时间:2011-05-22 04:58:52

标签: wpf frameworks mvvm

首先告诉你我是WPF

的新手

我有一些问题,我没有在网上找到答案.....有些教程在那里,但他们只是混淆.....

问题:

1)MVVM可以用于时间限制项目(早期交付) 2)我应该如何制作我的对象Model(实体类) 3)数据访问层将在何处。在模型?? ...中 4)业务逻辑(某部分)是否在VIEW MODEL中 5)最令人困惑的-----多少VIEW MODELS我必须制作.....我在网上看过一些示例应用程序....要么他们在1个视图模型中完成,要么他们使用1-2个以上的VIEW模型而不是实体类......

我应该使用一个框架来实现初学者水平......请建议我一些.... 不只是我,但我的许多同事也面临同样的问题......

1 个答案:

答案 0 :(得分:2)

我理解MVVM的方式是:

1)您的UI与ViewModel数据绑定。您的ViewModel将包装您的模型,并将其转换为绑定友好的界面。模型可能是持久性友好的,但持久性友好模型并不总是UI友好。 ViewModel的想法是弥合这一差距,并使模型适应UI可以轻松绑定的内容。

2)如果您愿意,您的模型可以是任何类实体框架,也可以是普通类(我的偏好)。唯一重要的是它能够在属性发生变化时通知您的ViewModel。所以我通常建议模型类实现INotifyPropertyChanged或类似的东西。

3)这是一个设计决定,由您决定。您的数据访问层应与模型分开,但应与模型进行交互。请参阅单一责任原则。您的模型仅存储数据。

4)业务逻辑可以在ViewModel中,是,或者在协调一个或多个ViewModel的控制器中。

5)您通常希望为每种类型的UI元素创建一个ViewModel。这可以得到很好的细化,特别是当ViewModels包含其他ViewModel时。例如,如果UI中有网格,则可能有整个网格的ViewModel,然后是行本身的另一个ViewModel类。拥有比模型更多的ViewModel并不罕见 - 例如,您可能有一个网格行的ViewModel和一个Details视图的不同ViewModel,但它们可能映射到同一个模型。

希望这有帮助!