4
在一般情况下,我更愿意用冗长的.NET类和实例的名称,但有些时候(to quote Mike Woodhouse):Model-View-ViewModel(MVVM)类和实例的名称应该如何冗长?
过冗长倾向于隐瞒句法和语法是非常重要的。
我觉得我第一次陷入过度冗赘体系的地方是在Silverlight和WPF应用程序中实现Model-View-ViewModel(MVVM)模式。
例如,我开始与EnumerableRange模型对象:
public class EnumerableRange<T> : IEnumerable<T>
{
public T Start{ get; set; }
public T Stop{ get; set; }
public long Count{ get; set; }
...
}
然后,我想创建一个控制,这将让我表面该类用户输入。因此,我创建一对视图相关的类:
- 一个EnumerableRangeControlView用户控件(在XAML),和
- 一个POCO EnumerableRangeControlViewModel
现在,我使用此对在父查看和ViewModel,分别。随着MVVM视图实例并不需要一个名字,但我的视图模型实例现在被命名一样的东西:
IndependentVariableEnumerableRangeControlViewModel。
事情开始失控!你会怎么做?
我们采用了类似的东西。另外,我使用了完全删除ViewModel/VM后缀的想法。您可以使用命名空间从Model.Customer中挑选出ViewModel.Customer。这似乎是一个非常糟糕的主意,除非你记得你的视图只能看到ViewModel,所以它不会感到困惑,并且Model看不到任何东西。在您的ViewModel中,不要将使用模型放在代码的顶部,而且您必须始终将其称为Model.Customer。 – 2009-07-22 21:44:48