В общем, я предпочитаю быть многословным с именами классов и экземпляров .NET, но иногда ( цитирую Майка Вудхауса ):
Чрезмерная детализация имеет тенденцию скрывать синтаксис, и синтаксис важен.
Первое, что я почувствовал, что действительно заблудился в режиме чрезмерной детализации, - это реализация шаблона Model-View-ViewModel (MVVM) в приложениях Silverlight и WPF.
Например, я начинаю с объекта модели EnumerableRange:
public class EnumerableRange<T> : IEnumerable<T>
{
public T Start{ get; set; }
public T Stop{ get; set; }
public long Count{ get; set; }
...
}
Затем я хочу создать элемент управления, который позволит мне отображать этот класс для пользовательского ввода. Таким образом, я создаю пару классов, связанных с представлениями:
- EnumerableRangeControlView UserControl (в XAML) и
- a POCO EnumerableRangeControlViewModel
Теперь я использую эту пару в родительском View и ViewModel соответственно. С MVVM экземпляру представления не нужно имя, но мой экземпляр ViewModel теперь называется примерно так:
IndependentVariableEnumerableRangeControlViewModel .
Вещи начинают выходить из-под контроля! Что бы вы сделали?