Мне сложно решить, что думать об этом фрагменте кода:
public SolidColorBrush Brush
{
get { return IsValid ? _validItemBrush : _invalidItemBrush; }
}
Это часть модели представления в моем текущем проекте, и, как вы понимаете, Кисть
будет привязана к некоторым текстовым элементам в пользовательском интерфейсе, чтобы указать (недействительность) других частей данных в довольно простом и понятном диалоговом окне.
Сторонники этой части код говорит, что, поскольку мы используем WPF, мы могли бы также разрешить некоторые простые конструкции, специфичные для WPF, в модели представления.
Противники говорят, что это нарушает Разделение проблем , поскольку оно явно диктует стиль о чем должно заботиться исключительно представление.
Поделитесь своими аргументами, и, если вас не устраивает приведенный выше код, поделитесь своими идеями относительно альтернативных решений. (Я' m особенно интересно, что вы скажете об использовании DataTemplate
s).
Возможно ли, что есть одно решение, которое можно было бы считать наилучшей практикой ?