不久之前,我开始为WPF编写一个对接库(类似于Avalon)。那时候我的目标是用MVVM的方式来学习。为了让事情顺利进行,我决定首先设计模型零件的视图和,并且认为我稍后会在之间放入一些视图模型。现在,我完成了所有视图和模型的工作:视图获取模型并直接与它交谈,而模型暴露一系列事件以盲目通知听众。而且,它的每个视觉方面都可以在XAML中进行重新设置/模板化。事情工作得很好。现在我被困在视图模型部分。由于这种类型的库的性质(内容变化和动态重新创建),还有很多代码仍然要写在视图的代码隐藏部分中,而且我真的没有看到也有必要为每个视图编写一堆视图模型类。也许在几个地方使用一些绑定/指令会很方便,但我并不认为它能弥补完成纯MVVM设计所需的所有重构。我真的需要MVVM吗?
我明白MVVM设计的优点,我非常喜欢它,但在这种情况下,我无法看到视图模型如何为整个事物增加任何价值。
任何想法,建议或更正将不胜感激。
在此先感谢。
有帮助的一件事是与模型没有1对1映射的视图。如果您想在一个视图中显示来自两个相关实体的信息,那么使用该数据填充视图模型是有意义的。 – Garvin