model-view-controller - 为数据库开发人员解释 MVVM、MVC、MVP

标签 model-view-controller mvvm mvp

就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the help center寻求指导。




10年前关闭。




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

在非常高的水平上我知道几读后知道

  • P - 表示层
  • M - 型号
  • C - Controller - 解释表示层并将 Action 发送到模型要呈现的内容

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

    如果您能更清楚地说明这与典型的 3 层架构有何不同,将不胜感激
  • UI 层 - ASP/WPF
  • 业务层 - Web 服务 (.NET 2.0/WCF..)
  • DB 访问层 - EF、ADO.NET、存储过程

  • 在此先感谢您的帮助

    最佳答案

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

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

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

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

  • 这三件事只是 UI 层。

    WCF 服务是您的业务逻辑层,它公开 UI 将使用的模型,并对从 UI 接收的数据执行业务逻辑,然后如果合适,它会调用持久层以将更改保存到数据库中.

    关于model-view-controller - 为数据库开发人员解释 MVVM、MVC、MVP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7258379/

    相关文章:

    WPF 绑定(bind)到 DataGridTemplateColumn 中的组合框

    c# - WPF ComboBox : Trouble converting back-and-forth of Selected Item (Works in all cases, 但就是这个。)

    c# - Caliburn Micro Guard Methods 不评估属性变化

    winforms - MVP 模式是每个 winforms 应用程序的最佳方式吗?

    winforms - MVP模式中使用Windsor caSTLe进行依赖注入(inject)的循环引用问题

    android - 在 Android 中处理 SQLite 单例实例及其上下文依赖

    c# - MVC 验证输入验证错误 CSS 不适用于自定义验证

    c# - 如何从 MVC Controller 中提取错误处理代码?

    c# - 我的注册 View 没有发布输入

    mysql - 如何获取存储在 SQL 数据库中的图像并将其显示在轮播中? ( rails 上的 ruby )