【发布时间】:2018-09-04 03:53:41
【问题描述】:
我认为我没有见过这样的例子,但我也没有读到任何明确声明不应该这样做的地方。例如,假设我有一些用户模型,其中包含常见的东西,如名字姓氏等:
public class UserModel
{
private int userID;
public int UserID
{
get { return userID; }
}
public string FirstName { get; set; }
public string LastName { get; set; }
public string MiddleInitial { get; set; }
...
}
如果我要严格遵循 MVVM 模式,是否允许拥有例如其他模型的列表
public class UserModel
{
...
public List<SomeOtherModel> SomeList { get; set; }
}
或者模型应该只有简单类型?
【问题讨论】:
-
是的,没关系,否则会很麻烦
-
让视图模型包含集合是非常好的,也很常见。
-
是的。您可能会感到困惑的是,一个虚拟机是否应该包含另一个虚拟机?当暴露直接 V 不关心的子 VM 时,复合 VM 没有任何意义。另外,这有点像在 VM 中放置过多的业务逻辑
标签: c# mvvm xamarin.forms