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