170 похожих чатов

Подскажите ещё, пожалуйста, про MVVM в контексте WPF Есть Model

и над ней делается ViewModel
в модели меняются данные и VM должна про это узнать
вот тут пишут, что обе этих сущности должны реализовать INotifyPropertyChanged

в этом месте мне кажется, что есть дублирование кода и VM становится какой-то лишней сущностью

Если сделать первый шаг и в Model реализовать INotifyPropertyChanged, то можно сделать пустой класс VM и просто унаследовать его от M и всё как-бы должно работать

возможно, для каких-то сложных случаев это будет иметь смысл, но на простых моделях и вьюмоделях у меня это вызывает диссонанс

я что-то упускаю из вида?

4 ответов

7 просмотров

В VM делаем всю работу с UI которая необходима, вся бизнес логика в моделях. INotifyPropertyChanged как по мне лучше вообще стараться избегать в моделях

Dmitry-Teh Автор вопроса
Vadim Kokarev
В VM делаем всю работу с UI которая необходима, вс...

да, но вопрос-то в том, как оповестить VM, что M изменилась? вот у меня в модель стекаются состояния устройств и я хочу отобразить это состояние в V по таймеру вызывать метод, который переложит состояние из M в VM и вызовет нужные OnPropertyChanged ?

Dmitry-Teh Автор вопроса
Дмитро
IObservable Pattern почитай

а его на всю модель вешать и запускать апдейт VM когда что-то внутри поменялось? мне кажется, это практически тот же INotifyPropertyChanged с его OnPropertyChanged а если передавать внутри апдейта что именно изменилось, то вообще 1:1 по сути

Похожие вопросы

Обсуждают сегодня

подскажите пожалуйста, как мне освободить результат записанный в переменную result? в чем проблема подскажите если МОЖЕТЕ?
Михаил Helper
28
вопрос по москвину - не понимаю вот такого вопроса похоже Сколько разных всегда завершающихся функций с типом a -> a -> b -> a -> a можно реализовать? Две функции одинаково...
Fedor
11
Слушайте, ещё такая интересная задачка. Сделан аудит действий пользователей через триггеры в базе, соответственно каждый пользователь имеет свой логин и пароль в базе. Это пре...
Сергей Бычков
11
есть тут кто-то , кто только начал изучать си? если проходите курс на степике или как-то сами изучаете, пишите, может, скооперируемся?..
Eule
25
Скажите, тут нет проблемы? IMyInterface1 = interface function GetInterface2: IInterface2; ... function TMyInterface.GetInterface2: IInterface2; begin Result := TI...
Ruslan aka DUDE
18
возможно для форматирования TimeStampZ нужен другой механизм, не?
Роман Лях (rgreat)
13
Народ, есть возможность объяснить VS Code, что некий lua-модуль стандартный и грузится по умолчанию? Т.е. хост программа добавляет этот модуль наряду с модулями string, debug ...
Sl
9
Добрый день. Абракадабра в 12-й студии ввела новый тип поля БД TSQLTimeStampOffset, использую в постгресе timestampz и вот с 12-й версии начались чудеса! До этого поля times...
Delphi Photo
9
Коллеги, здравствуйте! А можно узнать ваше мнение относительно Wolfram Mathematica vs Julia? Просто у меня стоит выбор между тем, чтобы продолжить преподавать Wolfram Mathemat...
Илья Гаража
10
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
Карта сайта