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

从MVC到MVVM

  •  9
  • srmark  · 技术社区  · 14 年前

    4 回复  |  直到 8 年前
        1
  •  15
  •   GSerg    14 年前

    视图模型是在您不完全信任表示代码的情况下添加另一个抽象级别的东西(或者只是觉得这种封装更优雅)。

    也就是说,如果你的 Person 班级有一个 Delete 方法或方法 SSNumber 属性时,您可能不希望将此对象传递给视图,因为从概念上讲,这使它能够调用Delete或显示SSN,但它不能这样做。
    PersonViewModel ,它只包含可以从视图中安全调用的信息/方法。

        2
  •  5
  •   Dx_    13 年前

    我想你指的是MVVM模式( Model-View-ViewModel )

        3
  •  4
  •   Mohamed Abed    13 年前

    领域模型是从业务逻辑和业务抽象的角度来设计的,它的目标是利用面向对象的技术来解决业务问题,其结果是一个领域模型,其中实体和价值对象相互引用,相互作用以实现业务逻辑目标。

    另一方面表示是另一个角度,你主要需要将域对象展平以便于绑定,你也可能对表示层中域模型实体的一些属性和属性不感兴趣,因此,表示模型(视图模型)是出于视图目的而对模型进行的更多自定义,结构可能会有所不同,您可以删除一些表示不需要的字段,也可以添加一些仅用于表示目的的字段(如“IsIdEnabled”或SliderWidth…)

        4
  •  0
  •   Community CDub    5 年前

    如上所述,没有MVVC这样的东西。

    Deep Dive MVVM