为数据库开发人员解释MVVM,MVC,MVP

时间:2011-08-31 14:22:44

标签: model-view-controller mvvm mvp

我来自数据库开发/ QA背景。我还没有详尽地研究过UI项目,尽管我编写了DB部分。我想知道MVC,MVP,MVVM模式之间差异的一些基本示例。

在很高的水平上知道几次读取后我知道

  • P - 表示层
  • M - 模型
  • C - Controller - 解释表示层并发送操作以模拟要呈现的内容

这是一个非常高级别的说明。我没有尝试使用MVVM,MVC,MVP创建一个基本的简单示例。

如果您能更清楚地了解这与典型的3层架构

有何不同,那将不胜感激
  • UI图层 - ASP / WPF
  • 业务层 - Web服务(.NET 2.0 / WCF ..)
  • 数据库访问层 - EF,ADO.NET,存储过程

先谢谢你的帮助

1 个答案:

答案 0 :(得分:1)

我认为你将设计模式与软件架构混淆,它们是相关但不同的。

3层架构由UI,逻辑和Persitance代码组成。使用像MVC或MVVM这样的东西只是提供了一种分离这些位的好方法。

在3层环境中,您可能拥有MVVM应用程序

  • 模型来自WCF
  • 视图都是WPF
  • View-Models是将UI操作转换为对WCF服务的调用的C#类

这三件事只是UI层。

WCF服务是您的业务逻辑层,它公开UI将使用的模型,并且它对从UI接收的数据执行业务逻辑,然后在适当的情况下调用持久层来保存更改进入数据库。