MVVM模式一定需要数据库吗?

时间:2015-06-02 01:11:23

标签: c# .net mvvm

MVVM模式一定需要数据库吗?因为,我发现的所有crud示例都不使用数据库,它们都在代码中使用list和obsservableCollection进行CRUD。 感谢

2 个答案:

答案 0 :(得分:5)

你的问题的答案是否定的。 MVVM设计模式是一种表示模型,因此与持久性数据存储独立。因此,您需要数据库。请阅读此内容以获取简介:WPF Apps With The Model-View-ViewModel Design PatternWikipedia

您需要的是一个构成MVVM设计模式一部分的数据模型。对数据模型(或部分数据模型)CRUD operations使用数据库(或任何其他数据存储区)的决定取决于应用程序的功能要求。

答案 1 :(得分:2)

不,MVVM Pattern只是一种模式(针对重复出现的问题的可重用解决方案)。因此,是否具有DAL(数据访问层)是一种应用必需品。

MVVM包含三个层次: 1.模型2. ViewModel。 3.查看

MVVM是Model-View-ViewModel的缩写。

模型是包含数据的类的简单对象(例如,Person,Animal或Tank类)。这些类应仅包含属性和属性验证。获取数据,保存数据,点击事件,复杂计算,业务规则或其中任何内容都不承担任何责任。

视图是用于显示数据的UI,用户看到的内容以及用户与之交互的内容。在大多数情况下,它们可以是DataTemplates,它只是一个告诉应用程序如何显示类的模板。如果代码仅与View相关,例如设置焦点或运行动画,则可以将代码放在视图后面。

ViewModels是魔术发生的类。它们将数据发送到View by events(INotifyPropertyChanged)。这是您的大部分代码隐藏的地方:数据访问,点击事件,复杂计算,业务规则验证等。它们通常用于反映视图。例如,如果View包含一个ListBox对象,一个Selected对象和一个Save按钮,ViewModel将有一个ObservableCollection ObectList,Model SelectedObject和ICommand SaveCommand。

MVVM Pattern允许您从视图中分离数据。数据只是数据而视图只是视图。数据和视图之间没有依赖关系,因此我们还有其他优点,例如单元测试和松散耦合。