Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
asp.net中的ViewModel与WPF中的ViewModel可比吗_Wpf_Asp.net Mvc_Viewmodel - Fatal编程技术网

asp.net中的ViewModel与WPF中的ViewModel可比吗

asp.net中的ViewModel与WPF中的ViewModel可比吗,wpf,asp.net-mvc,viewmodel,Wpf,Asp.net Mvc,Viewmodel,如果您知道WPF的MVVM模式,那么您就知道Josh smith msdn文章,其中CustomServiceWModel不包含以下简单属性: public string FirstName {get;set;} 取而代之的是ViewModel包装模型并委托如下属性访问: public string FirstName { get { return _customer.FirstName; } set { if (value == _customer.F

如果您知道WPF的MVVM模式,那么您就知道Josh smith msdn文章,其中CustomServiceWModel不包含以下简单属性:

public string FirstName {get;set;}
取而代之的是ViewModel包装模型并委托如下属性访问:

public string FirstName
{
    get { return _customer.FirstName; }
    set
    {
        if (value == _customer.FirstName)
            return;
        _customer.FirstName = value;
        base.OnPropertyChanged("FirstName");
    }
}
我在asp.net mvc中没有见过这种情况。这是由于缺少INotifyPropertyChanged接口造成的吗

我在asp.net mvc中没有见过这种情况

这很正常。你不应该看到它。MVC与MVVM是不同的模式。在MVC中,视图没有人可以通知任何更改。MVVM模式不适合web的无状态特性

我在asp.net mvc中没有见过这种情况

这很正常。你不应该看到它。MVC与MVVM是不同的模式。在MVC中,视图没有人可以通知任何更改。MVVM模式不适合web的无状态特性。

MVVM中的ViewModel和模型片段的定义与MVC中使用的定义不同

在MVVM中,ViewModel是您的应用程序,而View只是为它提供了一个用户友好的界面。在MVC中,视图是您的应用程序,ViewModel为其提供数据,控制器处理应用程序流和逻辑

两种模式之间的模型也不同。在MVC中,M表示数据模型和视图模型,而在MVVM中,M仅表示数据模型

总之,MVC的M+C等同于MVVM的VM,MVC的M包含MVVM的M和VM片段的混合

作为旁注,WPF使用INotifyPropertyChanged接口在属性更改时自动更新UI。这类东西在MVC中没有使用,因此不需要。

MVVM中的ViewModel和模型片段的定义与在MVC中使用时不同

在MVVM中,ViewModel是您的应用程序,而View只是为它提供了一个用户友好的界面。在MVC中,视图是您的应用程序,ViewModel为其提供数据,控制器处理应用程序流和逻辑

两种模式之间的模型也不同。在MVC中,M表示数据模型和视图模型,而在MVVM中,M仅表示数据模型

总之,MVC的M+C等同于MVVM的VM,MVC的M包含MVVM的M和VM片段的混合


作为旁注,WPF使用INotifyPropertyChanged接口在属性更改时自动更新UI。这种东西在MVC中没有使用,所以不需要。

很好,你说的是web的无状态性,而不是asp.net的无状态性-很好,你说的是web的无状态性,而不是asp.net的无状态性-您是否有一个官方的MS链接,其中写道MVC中的M代表model和viewmodel?从来没听说过。@Pascal不,我没有官方的MS链接,这只是我自己对模式的定义。我从MVVM开始,最近开始使用MVC,模型和视图模型的不同定义让我困惑了一段时间。MVC中的ViewModel是指包含视图数据的数据模型,而MVVM中的ViewModel除了包含视图特定数据外,还包括应用程序逻辑和命令处理。MVVM中的ViewModel具有应用程序逻辑和命令处理的原因在于其背后的技术。MVC和MVVM两种模式都有viewmodels,用于验证作为应用程序逻辑的输入逻辑。ViewModel包含asp.net mvc和带有mvvm的wpf中视图的数据。除了绑定/命令等技术性链接外,我看不出有任何区别。您是否有官方的MS链接,其中写道MVC中的M表示模型和viewmodel?从来没听说过。@Pascal不,我没有官方的MS链接,这只是我自己对模式的定义。我从MVVM开始,最近开始使用MVC,模型和视图模型的不同定义让我困惑了一段时间。MVC中的ViewModel是指包含视图数据的数据模型,而MVVM中的ViewModel除了包含视图特定数据外,还包括应用程序逻辑和命令处理。MVVM中的ViewModel具有应用程序逻辑和命令处理的原因在于其背后的技术。MVC和MVVM两种模式都有viewmodels,用于验证作为应用程序逻辑的输入逻辑。ViewModel包含asp.net mvc和带有mvvm的wpf中视图的数据。除了绑定/命令等技术方面,我看不出有任何区别。。。