标签: view-model-pattern

ViewModel是否能够在活动保存和恢复后生存?

ViewModel如果以下列方式使用,新类的实例可以在配置更改后继续存在:

mViewModel = ViewModelProviders.of(this).get(MyViewModel.class);
Run Code Online (Sandbox Code Playgroud)

但是,除了配置更改之外,还有一个保存还原方案,当整个应用程序的进程被终止时.

ViewModel在保存还原方案中,是否会保留字段内的值?


编辑:根据这个问题的答案,我写了这篇文章:Android ViewModel Architecture Component is Dangerous

android viewmodel view-model-pattern android-viewmodel android-architecture-components

14
推荐指数
2
解决办法
5886
查看次数

ViewModel是否会降低Web应用程序的性能

据我所知,使用视图模型可以使web开发.生活更容易,从某种意义上说,我们可以使用这种方法只显示本地化字符串中所需的属性.我也在mvc3视图模型中使用jquery验证等.

现在我有点怀疑,因为我的webapp中存在真正的瓶颈.查询所有对象(其中20个)就像这样

 List<Domain.Property> data = session.Query<Domain.Property>().ToList();    
 return PropertyViewModel.FromDomainModel(data);
Run Code Online (Sandbox Code Playgroud)

并且Property对象列表被发送到我的ViewModel,其中是FromDomainModel,它需要List of Property对象,如下所示

List<PropertyViewModel> dataVm = new List<PropertyViewModel>();
{
            foreach (Property p in x)
            {
                dataVm.Add(new PropertyViewModel(p));
            }
            return dataVm;
}
Run Code Online (Sandbox Code Playgroud)

现在和我正在使用的同一个班级

public PropertyViewModel(Property x)
        {
            Id = x.Id;
            Created = x.Created;
            Title = x.Title;
             ....
            Photo = x.Photos.First();
}
Run Code Online (Sandbox Code Playgroud)

但是使用这种方法将对象集合发送到viewmodel,其中返回相同的viewmodel,只返回我需要的几个属性,扼杀(至少对我来说)我实现多个实体加载和持续时间大幅度增加.

如果您需要更多信息.请问.

如果您知道更好的解决方案,请分享.

更新: 当使用域模型时,我加载了20个实体,当使用上面描述的视图模型时,会加载67个实体,这会大大降低性能.

c# nhibernate viewmodel asp.net-mvc-3 view-model-pattern

5
推荐指数
1
解决办法
143
查看次数