powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / MVC: должна ли модель всегда быть корректной?
52 сообщений из 52, показаны все 3 страниц
MVC: должна ли модель всегда быть корректной?
    #37655933
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Смотрю на некоторые фреймворки
- у одних модель всегда в корректном состоянии, а при неверных присваиваниях аттрибутов генерятся эксепшены
- у других модель позволяет принять всякий мусор, но предоставляет свойство isValid

из вашего опыта - должна ли модель всегда иметь корректное состояние ли иногда ей можно пошалить?
Поделитесь соображениями плиз!
...
Рейтинг: 0 / 0
MVC: должна ли модель всегда быть корректной?
    #37655961
Фотография OracleLover
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
смотреть на логику

Если модель регистрации пользователя - да, если что-то нестрогое - фтопку.
...
Рейтинг: 0 / 0
MVC: должна ли модель всегда быть корректной?
    #37655966
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Бизнес - штука изменчивая. Иногда требуется, чтобы модель в различных ее проявлениях (и представлениях в том числе) вела себя немного по-разному. Поэтому, можно и "пошалить".
Другое дело, что нужно стараться минимизировать кол-во таких выкрутасов, это и проще в поддержке.
...
Рейтинг: 0 / 0
MVC: должна ли модель всегда быть корректной?
    #37656010
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а по поводу использования в формах какой сценарий вы используете ?

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

- юзер ввел данные от фонаря, модель попыталась переварить, но не приняла и выдала исключение, в поле соответстевнно (либо осталось прежнее значение либо какоето сгенерированное моделью) и рядом с полем появилось "Айяйяй!!"
...
Рейтинг: 0 / 0
MVC: должна ли модель всегда быть корректной?
    #37656102
-капча-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хорошая тема!
всегда интересовал вопрос - как смотрят мс на капчу (или нечто подобное, слабо относящееся к модели) - где её следует проверять?
...
Рейтинг: 0 / 0
MVC: должна ли модель всегда быть корректной?
    #37661079
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А в каких ситуациях приходится соглашаться на не корректное состояние модели?
...
Рейтинг: 0 / 0
MVC: должна ли модель всегда быть корректной?
    #37661210
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
spА в каких ситуациях приходится соглашаться на не корректное состояние модели?
Когда руководство держит за яйца с пометкой "срочно".
...
Рейтинг: 0 / 0
MVC: должна ли модель всегда быть корректной?
    #37662166
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУspА в каких ситуациях приходится соглашаться на не корректное состояние модели?
Когда руководство держит за яйца с пометкой "срочно".

Ну этот случай можно не брать в расчот - это форсмажор! это стихийное бедствие! :)
Я про штатные ситуации спрашивал
...
Рейтинг: 0 / 0
MVC: должна ли модель всегда быть корректной?
    #37662531
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
spЯ про штатные ситуации спрашивал
Ролевые политики. Админ может всё делать с моделью, менержер чуть меньше, обычный юзер еще меньше.
...
Рейтинг: 0 / 0
MVC: должна ли модель всегда быть корректной?
    #37662698
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чтобы гибче отрулить сабжем, делают некую смесь MVC и MVVM паттернов проектирования. Рекомендую. Уже обсуждалось.
Другими словами, имеется гибкая универсальная модель и модель представления .
В модель представления можно зашить любую логику. В т.ч. и сложные ролевые правила, которые, скажем, декларативно не опишешь. Или сложную валидацию. Яваскрипты. Да всё, что угодно.
...
Рейтинг: 0 / 0
MVC: должна ли модель всегда быть корректной?
    #37662827
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,

Вообще-то, все паттерны придуманы именно для того, чтобы, в некотором смысле, ограничить беспредел ламеров и чайников, которые участвуют в проекте.
В других случаях, про это можно без проблем забыть.
...
Рейтинг: 0 / 0
MVC: должна ли модель всегда быть корректной?
    #37662852
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУЧтобы гибче отрулить сабжем, делают некую смесь MVC и MVVM паттернов проектирования. Рекомендую. Уже обсуждалось.
Другими словами, имеется гибкая универсальная модель и модель представления .
В модель представления можно зашить любую логику. В т.ч. и сложные ролевые правила, которые, скажем, декларативно не опишешь. Или сложную валидацию. Яваскрипты. Да всё, что угодно.

Я собственно чего - большинство фреймворков вообще не заморачиваются на контроле целостности модели - возлагая всю ответственность на БД или на другие слои.
Но по сути же модель на стороне клиента - это же проекция сущности из БД и она в БД никак не может быть некорректной - т.е. если юзер вместо номера документа ввел "Куй" - модель должна его соответствующим образом сразу же образумить!?
Смотрю многие фреймворки - там наличествует свойство isValid а перед самой отправкой на сервер - Validate
Это же как-то некошерно - зачем себе голову морочить если модель сразу либо примет данные - либо пошлет - и не надо доп проверок!?
...
Рейтинг: 0 / 0
MVC: должна ли модель всегда быть корректной?
    #37662881
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSergeМСУ, Вообще-то, все паттерны придуманы именно для того, чтобы, в некотором смысле, ограничить беспредел ламеров и чайников, которые участвуют в проекте.
В других случаях, про это можно без проблем забыть.
Не оправдывайте своё нежелание учить и использовать шаблоны проектирования :)

spЯ собственно чего - большинство фреймворков вообще не заморачиваются на контроле целостности модели - возлагая всю ответственность на БД или на другие слои.
Для задачек типа "хеллоуворлд" пойдёт. Для более сложных решений нужна более гибкая модель (модель представления).

spНо по сути же модель на стороне клиента - это же проекция сущности из БД и она в БД никак не может быть некорректной - т.е. если юзер вместо номера документа ввел "Куй" - модель должна его соответствующим образом сразу же образумить!?
В том-то и проблема. Многие неотесаные студенты пытаются эту проекцию сущности БД наложить на гуй. Это в корне неверный архитектурный подход, ибо он нерасширяем.
Мухи отдельно, котлеты отдельно.
1. Проекция из БД - это "модель"
2. Отдельный класс (пусть и немного повторяющий свойства самой модели) - это "модель представления"
Поищите поиском, на эту тему много дров порублено. Я уже не раз писал про это.
...
Рейтинг: 0 / 0
MVC: должна ли модель всегда быть корректной?
    #37662888
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУМухи отдельно, котлеты отдельно.
1. Проекция из БД - это "модель"
2. Отдельный класс (пусть и немного повторяющий свойства самой модели) - это "модель представления"

Получается некий симбиоз MVC с MVVM. Это гибко и расширяемо.
...
Рейтинг: 0 / 0
MVC: должна ли модель всегда быть корректной?
    #37662971
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУShSergeМСУ, Вообще-то, все паттерны придуманы именно для того, чтобы, в некотором смысле, ограничить беспредел ламеров и чайников, которые участвуют в проекте.
В других случаях, про это можно без проблем забыть.
Не оправдывайте своё нежелание учить и использовать шаблоны проектирования :)
Чего же так сразу про моё нежелание? У нас в конторе и под вэбформс (и винформс), и под мвц (и мвп) пишут. Если начальники захотят, то подключат меня к любому проекту, совершенно не спрашивая моего желания.
А про паттерны я вполне конкретно своё имхо высказал. Хотя, впрочем, у меня, как и у каждого, свой паттерн имеется. :)
...
Рейтинг: 0 / 0
MVC: должна ли модель всегда быть корректной?
    #37663502
-капча-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторСмотрю многие фреймворки - там наличествует свойство isValid а перед самой отправкой на сервер - Validate
Это же как-то некошерно - зачем себе голову морочить если модель сразу либо примет данные - либо пошлет - и не надо доп проверок!?
гыгыгы! тема попрежнему интересна!
перед самой отправкой на сервер неможет быть isValid/Validate из серверного кода - ПО ОПРЕДЕЛЕНИЮ!
ещё раз спрошу - есть модель - ответ на вопрос в ветке форума! (postid postname posttime and etc) - всё это проверит модель - длина поста высота и т.д.
на форме присутствует капча, которая к модели не имеет НИКАКОГО отношения - однако её нужно проверить - естественный вопрос -
ГДЕ?!

автор2. Отдельный класс (пусть и немного повторяющий свойства самой модели) - это "модель представления"

жесть! MVC = Model/View/Controller
...
Рейтинг: 0 / 0
MVC: должна ли модель всегда быть корректной?
    #37663517
-капча-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
По поводу проверок в БД!
Длина поля не должна превышать 50 симв. Мы запулили 150 -
БД запишет 50 из 150 и не рюкнет!
Пользователь будет огорчён ;)
...
Рейтинг: 0 / 0
MVC: должна ли модель всегда быть корректной?
    #37663975
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-капча-,

капча должна иметь отношение к модели представления, да и нет проблемы получить ее где угодно, отдельно от модели.
Request["Captcha"]
MyForm.Captcha
проверить в контроллере, сервисном слое и тд.
...
Рейтинг: 0 / 0
MVC: должна ли модель всегда быть корректной?
    #37664047
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-капча-жесть! MVC = Model/View/Controller
Для неокрепшего ума - жесть. Согласен.
Для понимающего архитектора приложения - обычная ситуация (с имплементацией модели представления).

См. сюда: http://ru.wikipedia.org/wiki/Model-View-Controller

RTFMДля реализации схемы Model-View-Controller используется достаточно большое число шаблонов проектирования (в зависимости от сложности архитектурного решения), основные из которых Наблюдатель, Стратегия, Компоновщик
MVC намного шире, чем осознаёт твой неокрепший мозг :)
...
Рейтинг: 0 / 0
MVC: должна ли модель всегда быть корректной?
    #37664068
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-капча-По поводу проверок в БД!
Длина поля не должна превышать 50 симв. Мы запулили 150 -
БД запишет 50 из 150 и не рюкнет!
Пользователь будет огорчён ;)
Поверь мне, в жизни бывают на порядки сложней правила валидации (с внешними зависимостями в т.ч.), нежели длина строки. Такое валидационное правило невозможно описать декларативно.
Во-вторых, есть зашивать в саму модель валидацию - кретинизм. Что будем делать, если появляется ролевая зависимость для валидации? Пихать в модель роли?
А через год нам потребуется для определенных случаев (например, использование модели в неком вебсервисе) игнорировать половину правил валидации. Как нам вкорячить это в разбухшую модель?
А через полтора года эта модель юзается в десктоп приложении, которое вообще не знает, что такое ASP.NET Roles, сесиия и т.д.
Даже тугодум догадается, что нужен дополнительный слой абстракции - модель представления. Модель представления для веб приложнения своя, для десктоп приложения - своя, для веб сервиса ее вообще нет, работаем напрямую с моделью.
Почитай про MVVM, много полезного узнаешь.
...
Рейтинг: 0 / 0
MVC: должна ли модель всегда быть корректной?
    #37664289
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУПоверь мне, в жизни бывают на порядки сложней правила валидации (с внешними зависимостями в т.ч.), нежели длина строки. Такое валидационное правило невозможно описать декларативно.
Во-вторых, есть зашивать в саму модель валидацию - кретинизм. Что будем делать, если появляется ролевая зависимость для валидации? Пихать в модель роли?
А через год нам потребуется для определенных случаев (например, использование модели в неком вебсервисе) игнорировать половину правил валидации. Как нам вкорячить это в разбухшую модель?
А через полтора года эта модель юзается в десктоп приложении, которое вообще не знает, что такое ASP.NET Roles, сесиия и т.д.
Даже тугодум догадается, что нужен дополнительный слой абстракции - модель представления. Модель представления для веб приложнения своя, для десктоп приложения - своя, для веб сервиса ее вообще нет, работаем напрямую с моделью.
Почитай про MVVM, много полезного узнаешь.

А чем тогда перенос правил поведения и валидации вынесенный из модели будет отличаться во вьюмодели?
точно так же прийдется переписывать если что-то изменится
ну и в модель же пишутся только правила валидации домена БД а не ролевые и другие методы валидации - ядумаю вся эта "другая" логика должна быть вынесена на уровень либо среднего звена либо в слой хранимых процедур
...
Рейтинг: 0 / 0
MVC: должна ли модель всегда быть корректной?
    #37664302
-капча-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторкапча должна иметь отношение к модели представления ,

авторДля понимающего архитектора приложения - обычная ситуация (с имплементацией модели представления ).

авторПочитай про MVVM, много полезного узнаешь.
http://ru.wikipedia.org/wiki/Model-View-Controller Концепция MVC позволяет разделить данные, представление и обработку действий пользователя на три отдельных компонента:

Модель (англ. Model). Модель предоставляет знания: данные и методы работы с этими данными, реагирует на запросы, изменяя своё состояние. Не содержит информации, как эти знания можно визуализировать.

Представление, вид (англ. View). Отвечает за отображение информации (визуализацию). Часто в качестве представления выступает форма (окно) с графическими элементами.

Контроллер (англ. Controller). Обеспечивает связь между пользователем и системой: контролирует ввод данных пользователем и использует модель и представление для реализации необходимой реакции.


господа! не нужно уводить разговор в плоскость MVVM! есть конкретный шаблон MVC - придерживайтесь его понятий и представлений, иначе складывается впечатление, что беседа беспредметна!
авторВо-вторых, есть зашивать в саму модель валидацию - кретинизм.
Наиболее частые ошибкиСреднестатистический ТТУК получал данные из БД (используя уровень абстракции базы данных, делая вид, что это модель) или манипулировал, валидировал , записывал, а также передавал данные в вид. Такой подход стал очень популярен потому, что использование таких контроллеров похоже на классическую практику использования отдельного php-файла для каждой страницы приложения.
С нетерпением ожидаю взрыва ваших эмоций и обвинений в мой адрес в глубочайшем непониманим величайшего творения MS! $)))
Чуть не збыл! Оторвите взгляд от творений чужих рук - создайте свой маленький трёхколёсный велик - ИМХО много нового откроется!
Удачи!
...
Рейтинг: 0 / 0
MVC: должна ли модель всегда быть корректной?
    #37664317
-капча-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторну и в модель же пишутся только правила валидации домена БД а не ролевые и другие методы валидации - ядумаю вся эта "другая" логика должна быть вынесена на уровень либо среднего звена либо в слой хранимых процедур
оторви взгляд от БД!
Модель имеет отношение к абстрактному хранилищу данных - БД - всего лишь частный случай - это может быть xml, просто файл, выделенная область памяти и многое другое!!!
+ вьюмодели - выдуманная абстракция твоих собеседников - не ведись!
...
Рейтинг: 0 / 0
MVC: должна ли модель всегда быть корректной?
    #37664341
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-капча-авторну и в модель же пишутся только правила валидации домена БД а не ролевые и другие методы валидации - ядумаю вся эта "другая" логика должна быть вынесена на уровень либо среднего звена либо в слой хранимых процедур
оторви взгляд от БД!
Модель имеет отношение к абстрактному хранилищу данных - БД - всего лишь частный случай - это может быть xml, просто файл, выделенная область памяти и многое другое!!!
+ вьюмодели - выдуманная абстракция твоих собеседников - не ведись!

от БД никак не могу взгляд оторвать - любуюсь ею каждый день, да и чо там скрывать! - да, люблю я их, люблю)) - все остальное - это вырожденная БД ))
...
Рейтинг: 0 / 0
MVC: должна ли модель всегда быть корректной?
    #37664468
-капча-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторот БД никак не могу взгляд оторвать - любуюсь ею каждый день, да и чо там скрывать! - да, люблю я их, люблю)) - все остальное - это вырожденная БД ))
в фс хранится N количество файлов картинок - невпёрлось их кидать в БД!
как прикрутить к модели сие богатсво!?
Размышляй! ;)
...
Рейтинг: 0 / 0
MVC: должна ли модель всегда быть корректной?
    #37664792
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-капча-господа! не нужно уводить разговор в плоскость MVVM! есть конкретный шаблон MVC - придерживайтесь его понятий и представлений, иначе складывается впечатление, что беседа беспредметна!

Нет никаких проблем строго придерживаться шаблона MVC, для вилидации модели использовать - сервисный слой, нужно понять что модель это не класс из БД, а совокупность бизнес правил, но есть также логика представления, капча относится именно к ней, ибо представление может изменится и капча там не понадобится, но на модель это не повлияет.
...
Рейтинг: 0 / 0
MVC: должна ли модель всегда быть корректной?
    #37665046
-капча-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторНет никаких проблем строго придерживаться шаблона MVC, для вилидации модели использовать - сервисный слой, нужно понять что модель это не класс из БД, а совокупность бизнес правил, но есть также логика представления, капча относится именно к ней, ибо представление может изменится и капча там не понадобится, но на модель это не повлияет.
КО!
что представляет собой валидация - чисто с технической точки зрения?!
некий класс, который в состоянии применить то или иное правило к тому или иному значению, сохранить результат на протяжении опр. времени и выдать его по требованию - валидно\невалидно!
использовать этот класс я волен в контроллере (или др. месте) для проверки значения капчи (к примеру), которое не относится к модели, или в самой модели непосредственно!
У меня не возникает желания создавать промежуточный слой для валидации значений модели - я могу это сделать непосредственно в самой модели, НО у меня есть большое желание не пихать в модель капчу, только потому, что её придётся валидировать, бо я в состоянии свалидировать это значение в самом контроллере!
...
Рейтинг: 0 / 0
MVC: должна ли модель всегда быть корректной?
    #37665231
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-капча-Чуть не збыл! Оторвите взгляд от творений чужих рук - создайте свой маленький трёхколёсный велик - ИМХО много нового откроется!
Забей, паттерны не для твоего головного мозга. Так бывает.
...
Рейтинг: 0 / 0
MVC: должна ли модель всегда быть корректной?
    #37665245
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-капча-У меня не возникает желания создавать промежуточный слой для валидации значений модели

Если все дело в капче - пожалуйста, просто иногда валидация включает в себя кучу разных сервисов, моделей и прочего, так что когда контроллер распухнет то придется задуматся.
...
Рейтинг: 0 / 0
MVC: должна ли модель всегда быть корректной?
    #37665251
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-капча-КО!
Читай и осознавая до просветвления: http://geekswithblogs.net/michelotti/archive/2009/10/25/asp.net-mvc-view-model-patterns.aspxASP.NET MVC View Model Patterns]

Если осознаешь разницу между Motorcycle и MotorcycleViewModel, считай голова есть на плечах.
Motorcycle - это модель (доменная модель).
MotorcycleViewModel - это модель представления.

ValidationAlthough there are many ways to perform validation, one of the most common is to use libraries like Data Annotations. Although typical validations (e.g., required fields, etc.) will probably be the same between your domain models and your views, not all validation will always match. Additionally, you may not always be in control of your domain models (e.g., in some enterprises the domain models are exposed via services that UI developers simply consume). So there is a limit to how you can associate validations with those classes. Yes, you can use a separate “meta data” class to designate validations but this duplicates some code similar to how a view model entity from option #3 would anyway. Therefore, option #3 gives you the absolute most control over UI validation.
...
Рейтинг: 0 / 0
MVC: должна ли модель всегда быть корректной?
    #37665254
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
MVC: должна ли модель всегда быть корректной?
    #37665451
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,

Правильно ли я понимаю, что наглядным примером разницы модели и вьюмодели может служить компонент "дерево"?

Модель
---------------
ID
Название
Parent ID


ВьюМодель
---------------
Модель
Selected
Expanded
Checked

Вью
--------------
Дерево
...
Рейтинг: 0 / 0
MVC: должна ли модель всегда быть корректной?
    #37665675
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
spМСУ, Правильно ли я понимаю, что наглядным примером разницы модели и вьюмодели может служить компонент "дерево"?
Да.

Use ViewModels to manage data & organize code in ASP.NET MVC applications

...In ASP.NET MVC, ViewModels allow you to shape multiple entities from one or more data models or sources into a single object, optimized for consumption and rendering by the view.

Что делать, если представление используются несколько моделей? Правильно - использовать модель представления.
...
Рейтинг: 0 / 0
MVC: должна ли модель всегда быть корректной?
    #37665677
-капча-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторЕсли осознаешь разницу между Motorcycle и MotorcycleViewModel, считай голова есть на плечах.
Motorcycle - это модель (доменная модель).
MotorcycleViewModel - это модель представления.
ASP.NET MVC View Model Patterns - ничего не настораживает?! ;)
авторЕсли все дело в капче - пожалуйста, просто иногда валидация включает в себя кучу разных сервисов, моделей и прочего, так что когда контроллер распухнет то придется задуматся.
да...да... не нужно пугать народ кучами всего всего!
конкретно -
POST текстового поля с сохранением в БД (так обожаемую некоторыми персонажами ;)
1. броузер посылает значение aaa=mmmmm
2. сервер запрашивает страницу, которая по опр. правилам вызывает опр. метод класса контроллера!
3. этод метод вызывает метод класса модели, передавая туда значение aaa=mmmmm
4. ВАЛИДАЦИЯ происходит именно там и, в зависимости от true\false записывается\незаписывается значение ааа в БД!!!
5. на странице ПРЕДСТАВЛЕНИЯ смотрим класс error - не пустой - значит выводим ошибку пользователю - пустой, значит всё ОК - ждём от пользователя дальнейших действий!
GET
1. броузер запрашивает страницу по адресу передавая туда GET значение id=1
2. сервер запрашивает страницу, которая по опр. правилам вызывает опр. метод класса контроллера!
3. этод метод вызывает метод класса модели, передавая туда GET значение id=1
4. ВАЛИДАЦИЯ происходит именно там и, в зависимости от true\false выдаёт нам значение из БД!!!
5. контроллер передаёт полученные данные представлению, которое отрисовывает данные в нужном порядке!

Где в этой схеме появилась модель представления !?
там где мы захотим в GET перевернуть строку с ног на голову?!
честно - меня поражает ваша доверчивость - МС кормит вас слоями, архитектурой и всякой требухой - вы хаваете и рады непомерно...
...
Рейтинг: 0 / 0
MVC: должна ли модель всегда быть корректной?
    #37665823
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-капча- ASP.NET MVC View Model Patterns - ничего не настораживает?! ;)
Ничего. А что должно настораживать? В классический механизм тупо добавлена новая абстракция для расслоения зависимости от доменной модели. Чего испугался-то?
-капча-конкретно ... поток сознания поскипан...
Убейся об канализационный люк, тролль
...
Рейтинг: 0 / 0
MVC: должна ли модель всегда быть корректной?
    #37665832
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-капча-,

не утехи ради хаваем чем МСУ кормит, из-за лени потом писать миллионы спагетти-кода - чем лучше спроектирован и сделан фундамент - тем круче и надежнее строение! :)
...
Рейтинг: 0 / 0
MVC: должна ли модель всегда быть корректной?
    #37665854
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,

Получается что мы должны иметь еще кроме Моделей и ВьюМодели и использовать ВьюМодели и Модели для отображения Вью?
Тогда получается что вью должна знать кто ей будет поставлять данные? тоесть у нас получается совокупление Вью и (ВьюМодель или Модель)? а ведь по шаблону надо этого избегать? Дилема однако!
...
Рейтинг: 0 / 0
MVC: должна ли модель всегда быть корректной?
    #37665864
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-капча-,

Начнем с понимания того что "mmmmm" это поле, которе находится в системе платежного сервиса,
дальше курим смысл типизированного представления, и как можно заполнить его данными из других источников, не меняя тип и структуру.
...
Рейтинг: 0 / 0
MVC: должна ли модель всегда быть корректной?
    #37665886
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,

А ежели использовать только ВьюМодели, то тогда нужен будет доп слой мапперов для операций преобразования данных из БД во ВьюМодель и обратно!
а вы лично какой вариант предпочитаете?
...
Рейтинг: 0 / 0
MVC: должна ли модель всегда быть корректной?
    #37665897
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ

Правда еще есть один вариант - все время юзать ВьюМодели (а там где ВьюМодель какбы и ненужна получаем вырожденную ВьюМодель в Модель) - т.е. небольшой оверхэад (всегда иметь ВьюМодели даже если она не нужна), но тогда легко решается вопрос получения данных в Модель и сохранения данных только Модели в БД без доп. мучений по выделению их из ВьюМодели -
ВьюМодель.Save() -> Модель.Save()
...
Рейтинг: 0 / 0
MVC: должна ли модель всегда быть корректной?
    #37665909
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
spМСУ, А ежели использовать только ВьюМодели, то тогда нужен будет доп слой мапперов для операций преобразования данных из БД во ВьюМодель и обратно!
а вы лично какой вариант предпочитаете?
Вот, молодцом. Умные вопросы задаете и по делу. Я предпочитаю свой маппер, чтоб не плодить левые сборки: 10281093
А так, мапперов полно, например AutoMapper.
...
Рейтинг: 0 / 0
MVC: должна ли модель всегда быть корректной?
    #37665920
-капча-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторНичего. А что должно настораживать? В классический механизм тупо добавлена новая абстракция для расслоения зависимости от доменной модели.
гыгы... ну возми карандаш и пририсуй к классическому механизму новую сущность - модель представления - незабудь выложить сюда свою схему - посмотрим на связи и зависимости! ;)
автордальше курим смысл типизированного представления , и как можно заполнить его данными из других источников, не меняя тип и структуру.
YES!!!
вот мы и добрались до сути вопроса - ещё один уровень абстракции!
да нах оно не нужно! есть руки, есть голова! есть набор данных получаемый из контроллера - этого вполне достаточно, для отрисовки этих данных на стр. представления!
ОСТАЛЬНОЕ - приведёт к копированию модели WebForms - и в довольно обозримом будущем будет признано ошибкой, тк зашьёт логику исполнения так глубоко, что никакими клещами будет не выдрать!
авториз-за лени потом писать миллионы спагетти-кода - чем лучше спроектирован и сделан фундамент - тем круче и надежнее строение! :)

ты будешь зажат рамками серверного кода и отсутствием что либо изменить - по определению!
ИМХО - для реализации козырного WEB-проекта - возми в руки учебник по HTML, CSS, javascript + какой-нибудь серверный ЯП - этого хватит с головой! ;)
...
Рейтинг: 0 / 0
MVC: должна ли модель всегда быть корректной?
    #37665921
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sp, я ж Вам в прошлом году вот тут 11509954 всё рассказывал. Отшибло память?
...
Рейтинг: 0 / 0
MVC: должна ли модель всегда быть корректной?
    #37666010
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,

Вы то писали, но я то был еще не готов! :) Работу работал. а учиться некогда было, вот бросил работу - учусь :)
...
Рейтинг: 0 / 0
MVC: должна ли модель всегда быть корректной?
    #37666014
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,

Т.е. вы выбрали вариант с мапперами - ну это ближе к серверной реализации, а я разрабатываю клиентскую реализацию и наверно лучше всего в моей ситуации иметь лишний слой ВьюМоделей - потому как мапить надо на что-то, а это что-то и будет обычной моделью по-сути
...
Рейтинг: 0 / 0
MVC: должна ли модель всегда быть корректной?
    #37666051
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ

а если пойти другим путем - сложное Вью, которое юзает несколько Моделей для своей отрисовки
К примеру тотже пример, но с МодельМотоцыкл, МодельСтраны и МодельИзготовители ?
...
Рейтинг: 0 / 0
MVC: должна ли модель всегда быть корректной?
    #37666107
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-капча-честно - меня поражает ваша доверчивость - МС кормит вас слоями, архитектурой и всякой требухой - вы хаваете и рады непомерно...
Каким боком тут майкрософт, остаётся загадкой.

spМСУ, Т.е. вы выбрали вариант с мапперами - ну это ближе к серверной реализации, а я разрабатываю клиентскую реализацию и наверно лучше всего в моей ситуации иметь лишний слой ВьюМоделей - потому как мапить надо на что-то, а это что-то и будет обычной моделью по-сути
Дык, я про вьюмодели и говорю. У меня маппер намапливает данные из БД (доменная модель) в модель представления. А другие атрибуты, если нужно, инициализируем вручную.

spМСУ а если пойти другим путем - сложное Вью, которое юзает несколько Моделей для своей отрисовки
К примеру тотже пример, но с МодельМотоцыкл, МодельСтраны и МодельИзготовители ?
Такое встречается сплошь и рядом. Я же писал об этом. Для этого нужна всё та же одна модель представления, которая содержит нужные атрибуты. Эту модель представления расширяем по портебностям, не трогая доменную модель.
...
Рейтинг: 0 / 0
MVC: должна ли модель всегда быть корректной?
    #37666110
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУТакое встречается сплошь и рядом. Я же писал об этом. Для этого нужна всё та же одна модель представления, которая содержит нужные атрибуты. Эту модель представления расширяем по портебностям, не трогая доменную модель.

Но в таком случае же мы добавляем новый слой ВьюМодель, а если усложним сам Вью за счет использования нескольких моделей - не надо создавать слой ВьюМоделей? Или как ваиант для доп. полей и свойств - создать виртуальную модель для представления и Вью тогда будет потреблять и реальную модель и специальную модель для вью!?
...
Рейтинг: 0 / 0
MVC: должна ли модель всегда быть корректной?
    #37666112
-капча-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ПарамонНачнем с понимания того что "mmmmm" это поле, которе находится в системе платежного сервиса,
дальше курим смысл типизированного представления, и как можно заполнить его данными из других источников, не меняя тип и структуру.
забавно!?
...
Рейтинг: 0 / 0
MVC: должна ли модель всегда быть корректной?
    #37666122
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
spНо в таком случае же мы добавляем новый слой ВьюМодель
Мля, ну а я про что говорю?! Разумеется добавляем.

"вариант с мапперами" == "вариант с вьюмоделью"

Не понятно? :) Короче, хватит мне насиловать моск. Хотите гибкости и расширяемости - курите вьюмодели.
Иначе - идем прямиком в институт, о котором говорил Серж. Бывайте.
...
Рейтинг: 0 / 0
MVC: должна ли модель всегда быть корректной?
    #37666136
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,

Да я то все понял :) просто рассматриваю различные варианты и сбоку и спереди и сзади ...:)
...
Рейтинг: 0 / 0
MVC: должна ли модель всегда быть корректной?
    #37666139
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ

я ж пытаюсь понять все плюшки и минусы каждого из вариантов...
а вы не хотите даже на них взгянуть :)
...
Рейтинг: 0 / 0
52 сообщений из 52, показаны все 3 страниц
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / MVC: должна ли модель всегда быть корректной?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]