c# - MVVM 中的什么使它对托管 WPF 和 Silverlight 特别有吸引力,但对 native C++ 却没有吸引力?

标签 c# .net c++ design-patterns mvvm

  1. 在 WPF 和 Silverlight 中,是什么让 MVVM 如此适合它们?
  2. C++ 中有什么,或者 C++ 缺少什么,使得 MVVM 和 C++ 永远不能一起提及?

最佳答案

MVVM(模型 - View - View 模型)是对 MVP(模型 - View - 演示者)或 MVC(模型 - View - Controller )模式的改编,这两种模式都是 C++ 应用程序非常流行的设计模式。设计模式的主要变化是更好地支持 WPF 和 Silverlight,所以与其说 WPF 适合 MVVM,不如说 MVVM 适合 WPF。

这些更改主要围绕着通过使用 INotifyPropertyChangedICommand 对象,彻底支持 XAML 技术中存在的绑定(bind)和命令架构。再一次,这些更改在 C++ 中无济于事,因为它没有对这些高级概念的任何 native 支持。这并不是说您不能在 C++ 中模仿所有这些功能,而是在您使用基本 MVP/C 模式的过程中,并且在大多数情况下“足够好”。

关于c# - MVVM 中的什么使它对托管 WPF 和 Silverlight 特别有吸引力,但对 native C++ 却没有吸引力?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2919446/

相关文章:

c# - 如何在 VS 2013 中调试 Windows Phone (8) 运行时组件或 C++ DLL 中的 C++ 代码

.net - 建模项目问题

c++ - 寻找球形纹理贴图的 theta 和 phi

c++ - Boost 的 UDP 异步客户端接收自己的数据报

c# - IList 和 IList<object> 之间的比较 - 应该首选哪个?

c# - 是否可以使用 .NET resx 全局化手动指定回退文化?

c# - 即使在增加属性值后也出现 WCF MaxRecievedMessageSize 异常

.net - 解决 x64 com 互操作编码(marshal)处理问题

c# - .NET 中的元数据是什么?

c++ - 为什么 MATLAB/Octave 在特征值问题中用 C++ 擦地板?