【问题标题】:In MVC, MVP and MVVM the model could it be a collection of entities?在 MVC、MVP 和 MVVM 中,模型可以是实体的集合吗?
【发布时间】:2012-02-20 08:39:39
【问题描述】:

我试图理解什么是模型。我已经读过this answer

在 MVC、MVP 和 MVVM 中,模型可以是实体的集合吗?

【问题讨论】:

  • 我问这个问题是因为我看到很多开发人员正在对表示层中的模型进行建模 (UML)。

标签: model-view-controller entity-framework mvvm model mvp


【解决方案1】:

当然可以,我认为模型是用于呈现视图的属性的集合。不多也不少。如果您需要一组实体来呈现视图,那将是合适的。

【讨论】:

    【解决方案2】:

    当然。模型就是描述业务逻辑使用的数据的全部内容。

    在 MVVM 中,模型通常由适当的 ViewModel 本身封装。如果单个 ViewModel 可以处理不同的模型,则需要将 Model 层与 ViewModel 分开。

    【讨论】:

    • -1:不,模型是包含所有业务逻辑的层。模型不是数据。
    • @tereško:感谢您的评论。我会说这取决于,在 MVVM 模型中有时根本没有引入,所以 ViewModel 代表逻辑和模型
    • 对“viewmodel”的解释是什么?最初,该模式用于您无法控制模型的实现(想想,一些 SAP 后端系统)或/和视图的情况。 viewmodel 代替了控制器,它负责将数据从一个转换到另一个。 other 一种是对 ASP.NET MVC(错误)的解释,他们采用了presentation object 概念(Fowler 有这种将“模型”添加到所有内容的无用习惯)并将其称为“视图模型”。
    【解决方案3】:

    在所有模式中,“模型”都不是类或对象。模型是一个层 - 一种无形的结构,它(在这种特殊情况下)由几组结构组成。

    模型的主要部分有:

    • domain objects(或在某些地方称为:域实体、模型对象、业务对象)
    • 存储抽象
    • 服务(用于“应用程序逻辑” - 域对象和存储抽象之间的交互)

    拥有多个“模型”是 Rails(Ruby 的快速原型设计框架)引入的一种误解,为了简化起见,Rails 决定将其active record 实例称为“模型”并将其模板称为“意见”。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-07-11
      • 2012-07-09
      • 1970-01-01
      • 2012-09-03
      • 1970-01-01
      • 2011-06-02
      • 2013-07-04
      • 2010-11-20
      相关资源
      最近更新 更多