代码之家  ›  专栏  ›  技术社区  ›  devuxer

MVVM项目中的“其他”视图模型叫什么?

  •  1
  • devuxer  · 技术社区  · 15 年前

    但是如果我有一个数据库实体对象,比如 Customer ,我想构建一个类,该类对Customer类进行整形或展平,以便在数据网格中使用。例如,这个特殊的Customer对象可能有一个属性 TotalOrders ,这实际上是使用包含 Order 实体。

    客户 上课?在其他情况下,我很想称之为 CustomerViewModel ,但我觉得在MVVM项目中,像这样的视图模型概念“过载”会让人困惑。你有什么建议?

    4 回复  |  直到 15 年前
        1
  •  3
  •   Robert Harvey    15 年前

    我相信你最初的想法是正确的。“视图模型”类是那些在域模型中公开数据对象的类,以便更容易地使用和管理这些模型对象。

    退房 http://en.wikipedia.org/wiki/Model_View_ViewModel

    因此 Customer Order

    在命名方面。。。随你的便!但我喜欢你最初的想法 CustomerViewModel . 或者把它命名为更接近视图的名称。例如, CustomerOrderSummaryViewModel

        2
  •  1
  •   JSprang    15 年前

    我们称之为数据视图模型。

    例如,我们可能有Results.xaml,它将Results\u ViewModel作为视图模型。结果页面有一个网格,网格中的每一行都是一个客户。但是,正如您所说,您需要一个客户的视图模型,这样您就可以拥有一个类似于“Total Orders”的属性。在本例中,我们的网格将包含一个客户数据视图模型的集合。

        3
  •  0
  •   Ray Booysen    15 年前

    这是经常出现的一些例子,你有一个列表对象,不完全是视图模型。因为您正在将Customer模型对象更改为更适合VM的对象,所以可以将其命名为CustomerTo,或者我同意其他海报的说法,CustomerViewModel(CustomerVM)也可以。

        4
  •  0
  •   Goblin    15 年前

    我不喜欢CustomerDto,因为它意味着另一个概念(即表示要发送到其他地方的数据的东西)。我们使用术语PresentationModel,因为它基本上是用不属于模型层的属性“呈现”底层模型对象。对我来说,我使用ViewModel这个术语来表示何时可以真正更改只读视图的model和PresentationModel。