我很困惑。也许你可以帮助我:)
我一直遵循 CAG 的指导,发现 MVP 模式对我来说非常自然。假设我有一个 UI 就绪模型(例如:实现 INotifyPropertyChanged),我使用演示者将此模型绑定到视图(演示者知道视图的接口),使我的代码隐藏尽可能小,仅处理绑定(模型和命令)属性(或方法)或没有 ICommand 的控件的事件,在这种情况下立即委托给演示者。
一段时间后,我发现了 MVVM 模式,但到目前为止我还没有发现它。据我所知,我只会在我的模型未准备好 UI 时使用 MVVM。但是保留演示者并只使用新模型是否更合理,我不明白这种用法会失去什么。我知道我错过了一些东西,但它是什么:)。
此外,当您的 View 是通用的并且可以处理多种模型(例如在 PropertyGrid 中)时。建议 ViewModel 与 DataTemplate 一起使用,但在这种情况下,您无法为模型中的每个实体创建模板,只需要在运行时进行调查,您会推荐什么?
看 Josh Smith 在截屏中讲 MVVM 的时候,我有一种感觉,在 ViewModel 中重新暴露 Model 违反了 DRY(不要重复),真的无法避免吗?与现在 ADO.Net 动态数据元数据类的火焰相比,没有人对此争论不休,这让我感到惊讶。
希望它足够清楚
谢谢
爱丽儿