【问题标题】:Programming Pattern: MVC vs MVP编程模式:MVC vs MVP
【发布时间】:2011-01-25 14:00:12
【问题描述】:

我对这两种编程模式有点困惑:MVC 和 MVP。

它们之间的主要区别是什么?我一直在网上搜索,我为它们做了几个例子,但我更加困惑,因为在一些示例网页中,MVP 使用超过 2 个接口来与视图层通信演示者(一些甚至有完全空白的接口,仅声明),但在其他接口中,只需两个接口即可将数据从演示者传输到视图。应用该模式的正确方法是什么?

另一方面,我在 MVC 上工作了一段时间,但直到现在,我才意识到我可能一直以错误的方式应用该模式。我有这个:

  • 模型:行为类似于业务对象的 C# 类。
  • 控制器:使用模型对象填充或操作它们的 C# 类。
  • 视图:C# aspx 页面显示模型对象;控制器负责在操作和/或填充数据后将模型对象发送到该层。

希望你能解开我的疑惑。提前致谢。

【问题讨论】:

标签: model-view-controller mvp


【解决方案1】:

MVC

View 负责渲染 UI 元素。控制器响应 UI 操作。模型处理业务行为。控制器负责要显示哪个视图。整个业务逻辑层可以用模型来表示。视图和模型紧密耦合。

MVP

View 负责渲染 UI 元素。控制器的角色被演示者取代。演示者调解模型和视图之间的操作。没有将视图绑定到视图模型的机制。所以我们依靠每个视图来实现与视图的接口

【讨论】:

    猜你喜欢
    • 2019-06-04
    • 2019-09-06
    • 1970-01-01
    • 2022-08-17
    • 1970-01-01
    • 1970-01-01
    • 2010-11-11
    • 2010-11-16
    • 1970-01-01
    相关资源
    最近更新 更多