Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
MVVM и куча вопросов
|
|||
|---|---|---|---|
|
#18+
Var79либо в xaml либо в xaml.cs, либо на стороне клиента (вью) сделать класс хелпер так получается мы всетаки привносим во вью знание бизнес-правил модели!?? а какже декларируемая независимость и полное отсутствие вьювом знания о модели!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2010, 01:00 |
|
||
|
MVVM и куча вопросов
|
|||
|---|---|---|---|
|
#18+
spVar79либо в xaml либо в xaml.cs, либо на стороне клиента (вью) сделать класс хелпер так получается мы всетаки привносим во вью знание бизнес-правил модели!?? а какже декларируемая независимость и полное отсутствие вьювом знания о модели!!! А вы не читайте советских газет. Тем более от невменяемых авторов. Функционал для фсякого вот такого "интерфейсе толи дизейблицца. толти прячется часть интерфейса, менюй и т.д. " (хосспадя, как же велика и могуча русскей езыг) в MVVM реализуется на уровне ViewModel'и, а никак не "либо в xaml либо в xaml.cs". Реализация этого функционала опирается на сквозные сервисы авторизации, которые вообще сбоку от MVVM. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2010, 02:30 |
|
||
|
MVVM и куча вопросов
|
|||
|---|---|---|---|
|
#18+
ЛПТем более от невменяемых авторов. слова слова берегите нервы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2010, 04:23 |
|
||
|
MVVM и куча вопросов
|
|||
|---|---|---|---|
|
#18+
Теперь более или менее осознав все величие этого шаблона у меня возник вопрос - а нафига все это? Понятно - неоспоримое преимущество в том что можно писать юнит-тесты - хотя большинству они и нафиг не нужны - возможность менять лицо без переделки кода (тут еще надо посмотреть - всеже некая логика выносится на лицо и ее надо в новом лице тоже реализовывать!) Но минусы то большущщие !!! - столько подпорок необходимо написать ради того чтобы добиваться декларируемой независимости слоев!! а зачем!! ежели реализация лица с теми же биндингами и логикой реализованной в классе окна гораздо проще и компактней? - в сложных окнах со сложной логикой взаимодействия наверняка код пойдет гулять и так или иначе все слои будут связываться или прийдется подмастырить еще кучу подпорок дабы этого не случилось!!! Вот собственно вопрос ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2010, 13:34 |
|
||
|
MVVM и куча вопросов
|
|||
|---|---|---|---|
|
#18+
spВот собственно вопрос мухи прилипшие к котлете кажутся меньшей проблемой (и выглядят менее отвратительно) чем мухи внутри (надкушенной) котлеты )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2010, 13:53 |
|
||
|
MVVM и куча вопросов
|
|||
|---|---|---|---|
|
#18+
spНу как минимум - чтобы логически разделить код визуализации морды от модели и её логики. И никто не заставляет взаимодействовать модель морды с мордой исключительно через биндинги и эвенты. Просто в большинстве случаев это удобнее и позволяет избавиться от лишней зависимости. Это явно продемонстрировано в концепции написания контролов, где допускается обращаться к частям морды из кода (он же модель морды кастомконтрола) по именам типа PART_XXX. А в сложной форме, чтобы код не стал гулять - нужно нормально её разделить на части, а не пихать всё в одно. Тогда глядишь, и логика в этих взаимодействиях начнёт прослеживаться. И не таким сложным оно покажется. :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2010, 13:57 |
|
||
|
MVVM и куча вопросов
|
|||
|---|---|---|---|
|
#18+
Алексей КА в сложной форме, чтобы код не стал гулять - нужно нормально её разделить на части, а не пихать всё в одно. Тогда глядишь, и логика в этих взаимодействиях начнёт прослеживаться. И не таким сложным оно покажется. :-) где-то встретилось определение что есть суть программирования - "это размазывание сложности более-менее равномерным слоем" :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2010, 14:01 |
|
||
|
MVVM и куча вопросов
|
|||
|---|---|---|---|
|
#18+
spТеперь более или менее осознав все величие этого шаблона у меня возник вопрос - а нафига все это? Понятно ... Но минусы то большущщие !!! ... Уважаемый sp, а как Вы думаете, зачем вообще нужна парадигма MVC и ее реализация для WPF (MVVM)? Логика такова, что любой шаблон реализуется средствами языка и соответствующей технологии; если их не знать на некотором уровне, то спроектировать приложение по данному шаблону не получится. Большинство Ваших вопросов в этой теме касаются довольно-таки базовых аспектов WPF (т.е. технологии, на использовании которой строится MVVM, а не самого шаблона). Имело бы смысл прочитать, например, "Windows Presenration Foundation в .NET 3.5 с примерами на C# 2008" Мэтью Мак-Дональда, там все Ваши вопросы раскрыты. Вот пример: spага, ну вот другой вопрос: часто бывает что в зависимости од значения одного поля в интерфейсе толи дизейблицца. толти прячется часть интерфейса, менюй и т.д. (т.е. некоторое бизнес-правило говорящее что если поле такоето равно томуто - не заполнять такието поля и т.д.) - где эта функциональность реализовывать? Прямой пример приведен на стр. 539 вышеупомянутой книги. Причем, без всякого MVVM. А вот пример, где цвет заливки эллипса зависит от значения логического свойства модели представления: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2010, 23:43 |
|
||
|
MVVM и куча вопросов
|
|||
|---|---|---|---|
|
#18+
JohnSparrowИмело бы смысл прочитать, например, "Windows Presenration Foundation в .NET 3.5 с примерами на C# 2008" Мэтью Мак-Дональда, там все Ваши вопросы раскрыты. Книгу кстати я только закончил читать, и вначале я упомянул что я не профи в WPF MVVM :) Плюс ко всему на просторах гугла нет толковой книги или статьи по MVVM - есть хорошие только краткие примеры которые в полной мере не позволяют охватить все аспекты использования данного шаблона - поэтому отчасти и возникают на этом форуме вопросы про MVVM К примеру я нигде не встретил простого примера показывающего технику вызова из одного (как его назвать... ??? ) MVVM1 (буду так называть :) ) другого MVVM2 - пишут только о какомто загадочном сервисе навигации который еще надо изобрести - это ли не подпорки? в купе с базовым классом и новым классом команд + еще куча всякой фигни ...? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2010, 08:30 |
|
||
|
MVVM и куча вопросов
|
|||
|---|---|---|---|
|
#18+
JohnSparrowА выражение "а какже декларируемая независимость и полное отсутствие вьювом знания о модели" говорит о неправильном понимании MVС/MVVM: модель ничего не знает о View (рычаг/сенсор), а вот последние о модели (интерфейсе управления) знать должны все. тут буду с вами спорить аргументированно - почитайте блогпост ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2010, 15:19 |
|
||
|
MVVM и куча вопросов
|
|||
|---|---|---|---|
|
#18+
а че мбудет плоха такая связка XML-ViewModel-View? (типа без модели) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2010, 16:04 |
|
||
|
MVVM и куча вопросов
|
|||
|---|---|---|---|
|
#18+
Уважаемые коллеги а мог бы кто-нибудь написать простой учебный пример использующий шаблон MVVM - редактируемый список книг: главное окно - список книг при двойном нажатии на элементе списка открывается окно редактирование данной книги функции добавления и удаления книг из списка список книг хранится в xml файле Я думаю для многих начинающих осваивать этот шаблон это было бы хорошей отправной точкой ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2010, 16:21 |
|
||
|
MVVM и куча вопросов
|
|||
|---|---|---|---|
|
#18+
spJohnSparrowА выражение "а какже декларируемая независимость и полное отсутствие вьювом знания о модели" говорит о неправильном понимании MVС/MVVM: модель ничего не знает о View (рычаг/сенсор), а вот последние о модели (интерфейсе управления) знать должны все. тут буду с вами спорить аргументированно - почитайте блогпост В английском не настолько силен, чтобы читать статьи вообще без проблем и задержек, потому не читал, а проскроллил по диагонали. Вас не затруднит привести оттуда цитату, согласно которой View ничего не должен знать о ViewModel? spа че мбудет плоха такая связка XML-ViewModel-View? (типа без модели)Модуль, сохраняющий данные в XML - это и будет модель, а, точнее, ее часть. spУважаемые коллеги а мог бы кто-нибудь написать простой учебный пример использующий шаблон MVVM - редактируемый список книгВот Вам хороший и наиболее часто упоминаемый рабочий пример MVVM: http://msdn.microsoft.com/ru-ru/magazine/dd419663.aspx ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2010, 17:39 |
|
||
|
MVVM и куча вопросов
|
|||
|---|---|---|---|
|
#18+
spJohnSparrowИмело бы смысл прочитать, например, "Windows Presenration Foundation в .NET 3.5 с примерами на C# 2008" Мэтью Мак-Дональда, там все Ваши вопросы раскрыты. Книгу кстати я только закончил читать, и вначале я упомянул что я не профи в WPF MVVM :) Плюс ко всему на просторах гугла нет толковой книги или статьи по MVVM - есть хорошие только краткие примеры которые в полной мере не позволяют охватить все аспекты использования данного шаблона - поэтому отчасти и возникают на этом форуме вопросы про MVVM К примеру я нигде не встретил простого примера показывающего технику вызова из одного (как его назвать... ??? ) MVVM1 (буду так называть :) ) другого MVVM2 - пишут только о какомто загадочном сервисе навигации который еще надо изобрести - это ли не подпорки? в купе с базовым классом и новым классом команд + еще куча всякой фигни ...? Сам по себе MVVM - не панацея. На мой взгляд, этот паттерн слишком перегружен.Не хватит пальцев на двух руках, чтобы перечислить за что он должен отвечать. Получаем код,который можно тестировать, но в результате особой внятности и краткости нет. spУважаемые коллеги а мог бы кто-нибудь написать простой учебный пример использующий шаблон MVVM - редактируемый список книг: главное окно - список книг при двойном нажатии на элементе списка открывается окно редактирование данной книги функции добавления и удаления книг из списка список книг хранится в xml файле Я думаю для многих начинающих осваивать этот шаблон это было бы хорошей отправной точкой Посему нужны "подпорки", а с MVVM они пишутся гораздо легче и быстрее. В этом случае можно будет обойтись только базовыми классами, необходимо будет создать только Views&Models. Все остальное - работа с БД, навигация, разграничение прав доступа, валидация и тд будет на автомате ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2010, 13:43 |
|
||
|
MVVM и куча вопросов
|
|||
|---|---|---|---|
|
#18+
i... этот паттерн слишком перегружен .Не хватит пальцев на двух руках, чтобы перечислить за что он должен отвечать. Получаем код,который можно тестировать, но в результате особой внятности и краткости нет . ... Не совсем понятен смысл выражения: "паттерн слишком перегружен" - будьте добры, перечислите хотя бы 5 функций этого паттерна (я уже не вспоминаю про "на двух руках"). Какой такой "особой внятности и краткости" вам еще нужно? (куда уж внятнее и короче: добавляешь элемент данных в коллекцию ViewModel-и - на экране появляется вкладка для редактирования этого элемента, и все-е-е-е-е...). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.09.2010, 10:17 |
|
||
|
MVVM и куча вопросов
|
|||
|---|---|---|---|
|
#18+
qu-qui... этот паттерн слишком перегружен .Не хватит пальцев на двух руках, чтобы перечислить за что он должен отвечать. Получаем код,который можно тестировать, но в результате особой внятности и краткости нет . ... Не совсем понятен смысл выражения: "паттерн слишком перегружен" - будьте добры, перечислите хотя бы 5 функций этого паттерна (я уже не вспоминаю про "на двух руках"). Какой такой "особой внятности и краткости" вам еще нужно? (куда уж внятнее и короче: добавляешь элемент данных в коллекцию ViewModel-и - на экране появляется вкладка для редактирования этого элемента, и все-е-е-е-е...). Это всееееееееее может быть только в одном случае - показываем один экран, но даже в этом случае необходимо: - сформировать условия выборки - загрузить данные (для SL необходимы асинхронные вызовы) - предусмотреть обработку ошибок - назначить Моdel - реализовать интерфейсы INotifyPropertyChanged и валидаторов - сформировать команды - реализовать CUD операции с обработкой ошибок и тддддддддддддддддддд Если окон несколько, то без системы навигации, разграничений прав доступа, DAL,вынесения бизнес-логики в отдельный слой и тд, на каждый чих нужен будет приличный кусок кода. Посему один только MVVM не решает основных задач ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.09.2010, 12:53 |
|
||
|
MVVM и куча вопросов
|
|||
|---|---|---|---|
|
#18+
i... - сформировать условия выборки - загрузить данные (для SL необходимы асинхронные вызовы) - предусмотреть обработку ошибок - назначить Моdel - реализовать интерфейсы INotifyPropertyChanged и валидаторов - сформировать команды - реализовать CUD операции с обработкой ошибок и тддддддддддддддддддд Если окон несколько, то без системы навигации, разграничений прав доступа, DAL,вынесения бизнес-логики в отдельный слой и тд, на каждый чих нужен будет приличный кусок кода. Посему один только MVVM не решает основных задач Э-м-м-м-м... Каким боком все вышеперечисленное (кроме "назначить Моdel",быть может?) относится к функциям паттерна MVVM? "- сформировать условия выборки" - в BLL; "- загрузить данные" - в DAL; "- предусмотреть обработку ошибок" - в Application Framework; "- реализовать интерфейсы INotifyPropertyChanged и валидаторов" - в Layer SuperType; "- сформировать команды" - в BLL; "- реализовать CUD операции с обработкой ошибок" - в DAL, или в BLL, или в Layer SuperType, на выбор; Пока что не вижу ни одной функции паттерна MVVM, кроме "назначить Моdel" с непонятной для меня семантикой (обычно тоже релизуется в Layer SuperType). Чем еще "перегружен" паттерн MVVM на ваш взгляд? (имеется ввиду ваше: "и тддддддддддддддддддд"). З.Ы. зрите в корень, если мы обсуждаем функции паттерна MVVM (их "перегруженность" или "легковесность"), то надо их и обсуждать, а не функции всего приложения, использующего MVVM для реализации UI... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.09.2010, 14:09 |
|
||
|
MVVM и куча вопросов
|
|||
|---|---|---|---|
|
#18+
qu-qui... - сформировать условия выборки - загрузить данные (для SL необходимы асинхронные вызовы) - предусмотреть обработку ошибок - назначить Моdel - реализовать интерфейсы INotifyPropertyChanged и валидаторов - сформировать команды - реализовать CUD операции с обработкой ошибок и тддддддддддддддддддд Если окон несколько, то без системы навигации, разграничений прав доступа, DAL,вынесения бизнес-логики в отдельный слой и тд, на каждый чих нужен будет приличный кусок кода. Посему один только MVVM не решает основных задач Э-м-м-м-м... Каким боком все вышеперечисленное (кроме "назначить Моdel",быть может?) относится к функциям паттерна MVVM? "- сформировать условия выборки" - в BLL; "- загрузить данные" - в DAL; "- предусмотреть обработку ошибок" - в Application Framework; "- реализовать интерфейсы INotifyPropertyChanged и валидаторов" - в Layer SuperType; "- сформировать команды" - в BLL; "- реализовать CUD операции с обработкой ошибок" - в DAL, или в BLL, или в Layer SuperType, на выбор; Пока что не вижу ни одной функции паттерна MVVM, кроме "назначить Моdel" с непонятной для меня семантикой (обычно тоже релизуется в Layer SuperType). Чем еще "перегружен" паттерн MVVM на ваш взгляд? (имеется ввиду ваше: "и тддддддддддддддддддд"). З.Ы. зрите в корень, если мы обсуждаем функции паттерна MVVM (их "перегруженность" или "легковесность"), то надо их и обсуждать, а не функции всего приложения, использующего MVVM для реализации UI... 1. MVVM разрабатывался именно для UI. 2. Если команды к нему не относятся, то следует изучить его более внимательно 3. И всееееееее лучше всего продемонстрировать на примере. Автор топика просил весьма простой вариант. Продемонстрируй код, посмотрим на эти малочисленные ееееееееее, хотя бы для этого лапидарного случая. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.09.2010, 16:23 |
|
||
|
MVVM и куча вопросов
|
|||
|---|---|---|---|
|
#18+
i... 1. MVVM разрабатывался именно для UI. ... Тогда зачем вы тащите за уши к нему: условия выборки; обработку ошибок; загрузку данных; CUD операции; ??? i... 2. Если команды к нему не относятся, то следует изучить его более внимательно ... Что-то мне это высказывание определенно напоминает... i... 3. И всееееееее лучше всего продемонстрировать на примере. ... Пока мы не договоримся с определением "перегруженности" функций паттерна (любого, не только MVVM) - демонстрировать на примере нечего. (на любую демонстрацию - будет придумана "контр-демонстрация", было бы желание пофлудить). Еще раз повторяю - "Зри в корень!" (с) К. Прутков. Если вас спросили - "в чем вы видите перегруженность паттерна?", а вы в ответ начали перечислять функции не имеющие к паттерну никакого отношения, то - какой еще "демонстрации" вам нужно? З.Ы. "И эти люди учат меня не ковырять в носу!?" (с) народное... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2010, 10:18 |
|
||
|
MVVM и куча вопросов
|
|||
|---|---|---|---|
|
#18+
Твои аппеляции к пионерским примерам из MSDN, где, действительно, не нужны никакие DI - мало интересны и прекрасный пример флуда. Продемострируй свой Super Layer не на словах, а на деле. Хотя бы на этом тривиальном примере. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2010, 12:13 |
|
||
|
MVVM и куча вопросов
|
|||
|---|---|---|---|
|
#18+
iТвои аппеляции к пионерским примерам из MSDN, где, действительно, не нужны никакие DI - мало интересны и прекрасный пример флуда. Продемострируй свой Super Layer не на словах, а на деле. Хотя бы на этом тривиальном примере. Узнаю нашего теоретика Севу. Что ж ты, сынок, так сливаешь злостно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2010, 12:27 |
|
||
|
MVVM и куча вопросов
|
|||
|---|---|---|---|
|
#18+
критика достаточно теоретическая. по второму пункту: играет роль не объем проекта и число биндингов в нем, а число биндингов в каждом конкретном view. это действительно потенциальная проблема, вот только надо понять, с какого именно числа биндингов эта проблема становится реальной. я еще ни разу не втыкался в проблемы, связанные с этим >third is that the exercise in creating large numbers of data bindings to the ViewModel results in duplicate code and maintenance problems[9] не ясно, с чего бы вдруг. ссылка [9] ведет куда-то, что никак не связано с сабжом ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2010, 12:40 |
|
||
|
MVVM и куча вопросов
|
|||
|---|---|---|---|
|
#18+
статься на вики имеет корректную [9] ссылку, которая ведет сюда . из статьи совершенно не ясно, где там дублирование кода и проблемы с сопровождением ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2010, 12:44 |
|
||
|
MVVM и куча вопросов
|
|||
|---|---|---|---|
|
#18+
Вестниккритика достаточно теоретическая. Как только переходишь от журнальных статей к реальному коду, то сразу становится ясно, что сам MVVM ничего особо не дает, помимо биндинга и команд есть масса других вопросов, на которые нет ответа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2010, 13:06 |
|
||
|
|

start [/forum/topic.php?fid=21&msg=36849895&tid=1442646]: |
0ms |
get settings: |
6ms |
get forum list: |
8ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
48ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
| others: | 8ms |
| total: | 125ms |

| 0 / 0 |
