|
MVC vs MVVM
|
|||
---|---|---|---|
#18+
Уважаемые коллеги. Есть пару вопросиков. 1. Насколько допустимо хранить данные во ViewModel и что можно считать таковыми? 2. Где провести грань между Model и ViewModel? Например, есть визуальное редактируемое поле. Должно ли оно быть сразу сохранено в модели, после завершения редактирования? В базе и где-то еще сохранять не нужно, при закрытии формы данные пропадают. Значение используется только при нажатии на кнопку. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2018, 19:16 |
|
MVC vs MVVM
|
|||
---|---|---|---|
#18+
Addx, Элемент TextBox редактирует текстовое поле, а в модели оно, к примеру, целое число. Сохраняйте сразу. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2018, 19:52 |
|
MVC vs MVVM
|
|||
---|---|---|---|
#18+
Roman MejtesAddx, Элемент TextBox редактирует текстовое поле, а в модели оно, к примеру, целое число. Сохраняйте сразу. Вопрос в том, что текстовое поле само по себе не нужно. А нужна сумма двух полей. Например, одно поле - время, второе - дата. В базе нужно одно поле. И есть кнопка "сохранить дату". По которой пишем в базу. Допустим, пользователь заполнил только одно. Т.е. визуально у нас (Дата, Время) В базе ДатаВремя. Нужно ли создать отдельную сущность [Дата, Время], которая содержит логику (Сохранение в базу) в модели? Или оставить во VM, с привязкой к внешнему вызову Model.SaveMyDT(Entity, Дата, Время)? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2018, 20:10 |
|
MVC vs MVVM
|
|||
---|---|---|---|
#18+
Addx, Доступность кнопки "Сохранить" говорить пользователю о том, что состояние VM корректно и что то с этим состоянием можно делать (например, попытаться изменить состояние какого то объекта на основе VM). VM это только модель данных View и все. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2018, 22:10 |
|
MVC vs MVVM
|
|||
---|---|---|---|
#18+
Addx1. Насколько допустимо хранить данные во ViewModel и что можно считать таковыми? Модель представления, хранит данные нужные для работы представления и взаимодействия с Моделью. Включает в себя данные Модели (или для Модели) и данные для работы представления. Addx2. Где провести грань между Model и ViewModel? Модель, это бизнес-логика и её данные. Грань провести можно такую. Представь себе 2 и более представлений. Веб-сайт, мобила, телик, десткопы всякие. Модель не должна зависеть от представлений. ViewModel также компенсируют возможную или существующую разницу между Моделью. В реале, конечно зависимость кое какая есть, но нужно стремиться к разделению. AddxНапример, есть визуальное редактируемое поле. Должно ли оно быть сразу сохранено в модели, после завершения редактирования? В базе и где-то еще сохранять не нужно, при закрытии формы данные пропадают. Значение используется только при нажатии на кнопку. Ну вообще, у редактируемого поля уже как бы есть модель представления, внутри реализации того или иного фреймворка. Так что... )) ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2018, 22:31 |
|
MVC vs MVVM
|
|||
---|---|---|---|
#18+
hVostt Грань провести можно такую. Представь себе 2 и более представлений. Веб-сайт, мобила, телик, десткопы всякие. Модель не должна зависеть от представлений. ViewModel также компенсируют возможную или существующую разницу между Моделью. В реале, конечно зависимость кое какая есть, но нужно стремиться к разделению. Не все так просто) К примеру, при изменении данных на визуальной форме нужно перестроить графики. Пересчет нетривиальный. Нужен для всех типов клиентов, абсолютно одинаковый, но в базы и пр. хранилища не пишем (данные для графиков, строятся на куче расчетных величин, разумеется их где-то хранить нужно после пересчета). Вроде и бизнес-логика, и вроде нужно только для визуализации. hVostt Ну вообще, у редактируемого поля уже как бы есть модель представления, внутри реализации того или иного фреймворка. Так что... )) Это как пример. )) Вопрос в том, нужно ли сразу пробрасывать в модель, или оставлять только во ViewModel. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2018, 14:18 |
|
MVC vs MVVM
|
|||
---|---|---|---|
#18+
AddxНе все так просто) К примеру, при изменении данных на визуальной форме нужно перестроить графики. Пересчет нетривиальный. Нужен для всех типов клиентов, абсолютно одинаковый, но в базы и пр. хранилища не пишем (данные для графиков, строятся на куче расчетных величин, разумеется их где-то хранить нужно после пересчета). Вроде и бизнес-логика, и вроде нужно только для визуализации. А приведите конкретный пример, если не сложно. Наверняка сведём к бизнес-логике. А результат можно и в MongoDB, Redis положить. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2018, 17:59 |
|
MVC vs MVVM
|
|||
---|---|---|---|
#18+
AddxНе все так просто) Было бы просто, работать умом не надо было бы ) AddxК примеру, при изменении данных на визуальной форме нужно перестроить графики. Пересчет нетривиальный. Нужен для всех типов клиентов, абсолютно одинаковый, но в базы и пр. хранилища не пишем (данные для графиков, строятся на куче расчетных величин, разумеется их где-то хранить нужно после пересчета). Вроде и бизнес-логика, и вроде нужно только для визуализации. Для построения графика нужно передавать данные формы, которые влияют на построение графика. Вью-модель содержит текущие данные формы, при изменении, вью-модель используется контроллером для вызова Модели, чтобы получить данные для графика. Понятие "визуализация" не нужно воспринимать прям топорно и буквально. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.10.2018, 23:14 |
|
|
start [/forum/topic.php?fid=16&fpage=12&tid=1340038]: |
0ms |
get settings: |
11ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
67ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
others: | 235ms |
total: | 400ms |
0 / 0 |