Re[4]: Глобальное состояние приложения - хорошая ли идея?
От: Shmj Ниоткуда  
Дата: 06.09.25 22:22
Оценка:
Здравствуйте, Qulac, Вы писали:

Q>Но он там обычно есть, например MainFormViewModel.


MainFormViewModel — содержит же исключительно то, что относится к главной форме. И не содержит в себе данные дочерних форм.

Кроме того, если подумать — ViewModel вообще не должна содержать данных/полей. Есть Model. Так же есть IValueConverter — если какое-то значение из Model тебе нужно в UI отобразить особым образом (к примеру — статус преобразовать в цвет). Т.е. по сути ViewModel не должно содержать цветов, паттернов для преобразования времени в строку и пр. — это все в конвертеры. Так накой же этот ViewModel вообще нахрен сдался? Получается в нем только постоянные обертки и ничего более. Кроме оберток над полями Model — что там еще может быть (если учесть — что цвета и строки для даты — это утечка абстракции)?

ViewModel как бы одна большая обертка, чтобы над полями Model добавить эти вызовы OnPropertyChanged. Но! Не разумнее ли это отдать на откуп среды/компилятора прямо в Model? Просто не подумали об этом и добавили ручную работу и лишние слои.

Тогда во ViewModel останутся команды эти — но уже и назвать нужно по-другому, т.к. к Model оно отношения не имеет. Это контроллер или диспетчер будет или что-то типа того. В общем, изначальной глупостью было ради вызова OnPropertyChanged создавать отдельную обертку и концепцию.
=сначала спроси у GPT=
Отредактировано 06.09.2025 22:28 Shmj . Предыдущая версия . Еще …
Отредактировано 06.09.2025 22:26 Shmj . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.