powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / MVVM и куча вопросов
25 сообщений из 62, страница 2 из 3
MVVM и куча вопросов
    #36839166
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Var79либо в xaml либо в xaml.cs, либо на стороне клиента (вью) сделать класс хелпер
так получается мы всетаки привносим во вью знание бизнес-правил модели!?? а какже декларируемая независимость и полное отсутствие вьювом знания о модели!!!
...
Рейтинг: 0 / 0
MVVM и куча вопросов
    #36839240
ЛП
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
spVar79либо в xaml либо в xaml.cs, либо на стороне клиента (вью) сделать класс хелпер
так получается мы всетаки привносим во вью знание бизнес-правил модели!?? а какже декларируемая независимость и полное отсутствие вьювом знания о модели!!!
А вы не читайте советских газет.
Тем более от невменяемых авторов.

Функционал для фсякого вот такого "интерфейсе толи дизейблицца. толти прячется часть интерфейса, менюй и т.д. " (хосспадя, как же велика и могуча русскей езыг) в MVVM реализуется на уровне ViewModel'и, а никак не "либо в xaml либо в xaml.cs".
Реализация этого функционала опирается на сквозные сервисы авторизации, которые вообще сбоку от MVVM.
...
Рейтинг: 0 / 0
MVVM и куча вопросов
    #36839273
Var79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЛПТем более от невменяемых авторов.
слова слова

берегите нервы
...
Рейтинг: 0 / 0
MVVM и куча вопросов
    #36840220
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Теперь более или менее осознав все величие этого шаблона у меня возник вопрос - а нафига все это?

Понятно
- неоспоримое преимущество в том что можно писать юнит-тесты - хотя большинству они и нафиг не нужны
- возможность менять лицо без переделки кода (тут еще надо посмотреть - всеже некая логика выносится на лицо и ее надо в новом лице тоже реализовывать!)

Но минусы то большущщие !!!
- столько подпорок необходимо написать ради того чтобы добиваться декларируемой независимости слоев!! а зачем!! ежели реализация лица с теми же биндингами и логикой реализованной в классе окна гораздо проще и компактней?
- в сложных окнах со сложной логикой взаимодействия наверняка код пойдет гулять и так или иначе все слои будут связываться или прийдется подмастырить еще кучу подпорок дабы этого не случилось!!!

Вот собственно вопрос
...
Рейтинг: 0 / 0
MVVM и куча вопросов
    #36840282
Фотография LR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
spВот собственно вопрос
мухи прилипшие к котлете кажутся меньшей проблемой (и выглядят менее отвратительно) чем мухи внутри (надкушенной) котлеты ))
...
Рейтинг: 0 / 0
MVVM и куча вопросов
    #36840294
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
spНу как минимум - чтобы логически разделить код визуализации морды от модели и её логики. И никто не заставляет взаимодействовать модель морды с мордой исключительно через биндинги и эвенты. Просто в большинстве случаев это удобнее и позволяет избавиться от лишней зависимости. Это явно продемонстрировано в концепции написания контролов, где допускается обращаться к частям морды из кода (он же модель морды кастомконтрола) по именам типа PART_XXX.

А в сложной форме, чтобы код не стал гулять - нужно нормально её разделить на части, а не пихать всё в одно. Тогда глядишь, и логика в этих взаимодействиях начнёт прослеживаться. И не таким сложным оно покажется. :-)
...
Рейтинг: 0 / 0
MVVM и куча вопросов
    #36840311
Фотография LR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КА в сложной форме, чтобы код не стал гулять - нужно нормально её разделить на части, а не пихать всё в одно. Тогда глядишь, и логика в этих взаимодействиях начнёт прослеживаться. И не таким сложным оно покажется. :-)
где-то встретилось определение что есть суть программирования - "это размазывание сложности более-менее равномерным слоем" :)
...
Рейтинг: 0 / 0
MVVM и куча вопросов
    #36841411
JohnSparrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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.
<Ellipse>
    <Ellipse.Style>
        <Style>
            <Style.Triggers>
                <DataTrigger Binding="{Binding Path=IsWorking}" Value="True">
                    <Setter Property="Ellipse.Fill" Value="{StaticResource WorkingIndicatorBrush}"/>
                </DataTrigger>
                <DataTrigger Binding="{Binding Path=IsWorking}" Value="False">
                    <Setter Property="Ellipse.Fill" Value="{StaticResource StoppedIndicatorBrush}"/>
                </DataTrigger>
            </Style.Triggers>
        </Style>
    </Ellipse.Style>
</Ellipse>
И никакого выноса логики модели в код представления. И никаких "подпорок" и "мы всетаки привносим во вью знание бизнес-правил модели". Представление - это приборная панель автомобиля, а модель - его двигатель. Двигателю побоку, как им управляют (с сенсорной панели или большими железными рычагами и педалями), важно, чтобы и сенсор и рычаг подавали импульсы определенного формата в управляющий контур. А выражение "а какже декларируемая независимость и полное отсутствие вьювом знания о модели" говорит о неправильном понимании MVС/MVVM: модель ничего не знает о View (рычаг/сенсор), а вот последние о модели (интерфейсе управления) знать должны все.
...
Рейтинг: 0 / 0
MVVM и куча вопросов
    #36841514
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JohnSparrowИмело бы смысл прочитать, например, "Windows Presenration Foundation в .NET 3.5 с примерами на C# 2008" Мэтью Мак-Дональда, там все Ваши вопросы раскрыты.


Книгу кстати я только закончил читать, и вначале я упомянул что я не профи в WPF MVVM :)
Плюс ко всему на просторах гугла нет толковой книги или статьи по MVVM - есть хорошие только краткие примеры которые в полной мере не позволяют охватить все аспекты использования данного шаблона - поэтому отчасти и возникают на этом форуме вопросы про MVVM

К примеру я нигде не встретил простого примера показывающего технику вызова из одного (как его назвать... ??? ) MVVM1 (буду так называть :) ) другого MVVM2 - пишут только о какомто загадочном сервисе навигации который еще надо изобрести - это ли не подпорки? в купе с базовым классом и новым классом команд + еще куча всякой фигни ...?
...
Рейтинг: 0 / 0
MVVM и куча вопросов
    #36841821
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JohnSparrowА выражение "а какже декларируемая независимость и полное отсутствие вьювом знания о модели" говорит о неправильном понимании MVС/MVVM: модель ничего не знает о View (рычаг/сенсор), а вот последние о модели (интерфейсе управления) знать должны все.

тут буду с вами спорить аргументированно - почитайте блогпост
...
Рейтинг: 0 / 0
MVVM и куча вопросов
    #36841845
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а че мбудет плоха такая связка XML-ViewModel-View? (типа без модели)
...
Рейтинг: 0 / 0
MVVM и куча вопросов
    #36841858
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уважаемые коллеги а мог бы кто-нибудь написать простой учебный пример использующий шаблон MVVM - редактируемый список книг:
главное окно - список книг
при двойном нажатии на элементе списка открывается окно редактирование данной книги
функции добавления и удаления книг из списка
список книг хранится в xml файле

Я думаю для многих начинающих осваивать этот шаблон это было бы хорошей отправной точкой
...
Рейтинг: 0 / 0
MVVM и куча вопросов
    #36841895
JohnSparrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
spJohnSparrowА выражение "а какже декларируемая независимость и полное отсутствие вьювом знания о модели" говорит о неправильном понимании MVС/MVVM: модель ничего не знает о View (рычаг/сенсор), а вот последние о модели (интерфейсе управления) знать должны все.

тут буду с вами спорить аргументированно - почитайте блогпост В английском не настолько силен, чтобы читать статьи вообще без проблем и задержек, потому не читал, а проскроллил по диагонали. Вас не затруднит привести оттуда цитату, согласно которой View ничего не должен знать о ViewModel?

spа че мбудет плоха такая связка XML-ViewModel-View? (типа без модели)Модуль, сохраняющий данные в XML - это и будет модель, а, точнее, ее часть.

spУважаемые коллеги а мог бы кто-нибудь написать простой учебный пример использующий шаблон MVVM - редактируемый список книгВот Вам хороший и наиболее часто упоминаемый рабочий пример MVVM: http://msdn.microsoft.com/ru-ru/magazine/dd419663.aspx
...
Рейтинг: 0 / 0
MVVM и куча вопросов
    #36843451
i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
i
Гость
spJohnSparrowИмело бы смысл прочитать, например, "Windows Presenration Foundation в .NET 3.5 с примерами на C# 2008" Мэтью Мак-Дональда, там все Ваши вопросы раскрыты.


Книгу кстати я только закончил читать, и вначале я упомянул что я не профи в WPF MVVM :)
Плюс ко всему на просторах гугла нет толковой книги или статьи по MVVM - есть хорошие только краткие примеры которые в полной мере не позволяют охватить все аспекты использования данного шаблона - поэтому отчасти и возникают на этом форуме вопросы про MVVM

К примеру я нигде не встретил простого примера показывающего технику вызова из одного (как его назвать... ??? ) MVVM1 (буду так называть :) ) другого MVVM2 - пишут только о какомто загадочном сервисе навигации который еще надо изобрести - это ли не подпорки? в купе с базовым классом и новым классом команд + еще куча всякой фигни ...?
Сам по себе MVVM - не панацея. На мой взгляд, этот паттерн слишком перегружен.Не хватит пальцев
на двух руках, чтобы перечислить за что он должен отвечать. Получаем код,который
можно тестировать, но в результате особой внятности и краткости нет.
spУважаемые коллеги а мог бы кто-нибудь написать простой учебный пример использующий шаблон MVVM - редактируемый список книг:
главное окно - список книг
при двойном нажатии на элементе списка открывается окно редактирование данной книги
функции добавления и удаления книг из списка
список книг хранится в xml файле

Я думаю для многих начинающих осваивать этот шаблон это было бы хорошей отправной точкой

Посему нужны "подпорки", а с MVVM они пишутся гораздо легче и быстрее. В этом случае можно будет обойтись только базовыми классами, необходимо будет создать только Views&Models.
Все остальное - работа с БД, навигация, разграничение прав доступа, валидация и тд будет на автомате
...
Рейтинг: 0 / 0
MVVM и куча вопросов
    #36846944
qu-qu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
i... этот паттерн слишком перегружен .Не хватит пальцев
на двух руках, чтобы перечислить за что он должен отвечать. Получаем код,который
можно тестировать, но в результате особой внятности и краткости нет .
...
Не совсем понятен смысл выражения: "паттерн слишком перегружен" - будьте добры, перечислите хотя бы 5 функций этого паттерна (я уже не вспоминаю про "на двух руках").

Какой такой "особой внятности и краткости" вам еще нужно?
(куда уж внятнее и короче: добавляешь элемент данных в коллекцию ViewModel-и - на экране появляется вкладка для редактирования этого элемента, и все-е-е-е-е...).
...
Рейтинг: 0 / 0
MVVM и куча вопросов
    #36847519
i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
i
Гость
qu-qui... этот паттерн слишком перегружен .Не хватит пальцев
на двух руках, чтобы перечислить за что он должен отвечать. Получаем код,который
можно тестировать, но в результате особой внятности и краткости нет .
...
Не совсем понятен смысл выражения: "паттерн слишком перегружен" - будьте добры, перечислите хотя бы 5 функций этого паттерна (я уже не вспоминаю про "на двух руках").

Какой такой "особой внятности и краткости" вам еще нужно?
(куда уж внятнее и короче: добавляешь элемент данных в коллекцию ViewModel-и - на экране появляется вкладка для редактирования этого элемента, и все-е-е-е-е...).
Это всееееееееее может быть только в одном случае - показываем один экран, но даже в этом случае необходимо:
- сформировать условия выборки
- загрузить данные (для SL необходимы асинхронные вызовы)
- предусмотреть обработку ошибок
- назначить Моdel
- реализовать интерфейсы INotifyPropertyChanged и валидаторов
- сформировать команды
- реализовать CUD операции с обработкой ошибок
и тддддддддддддддддддд
Если окон несколько, то без системы навигации, разграничений прав доступа, DAL,вынесения бизнес-логики в отдельный слой и тд, на каждый чих нужен будет приличный кусок кода.
Посему один только MVVM не решает основных задач
...
Рейтинг: 0 / 0
MVVM и куча вопросов
    #36847776
qu-qu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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...
...
Рейтинг: 0 / 0
MVVM и куча вопросов
    #36848349
i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
i
Гость
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. И всееееееее лучше всего продемонстрировать на примере.
Автор топика просил весьма простой вариант. Продемонстрируй код, посмотрим на эти малочисленные ееееееееее, хотя бы для этого лапидарного случая.
...
Рейтинг: 0 / 0
MVVM и куча вопросов
    #36849455
qu-qu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
i...
1. MVVM разрабатывался именно для UI.
...
Тогда зачем вы тащите за уши к нему:
условия выборки;

обработку ошибок;

загрузку данных;

CUD операции;
???

i...
2. Если команды к нему не относятся, то следует изучить его более внимательно
...

Что-то мне это высказывание определенно напоминает...

i...
3. И всееееееее лучше всего продемонстрировать на примере.
...
Пока мы не договоримся с определением "перегруженности" функций паттерна (любого, не только MVVM) - демонстрировать на примере нечего.
(на любую демонстрацию - будет придумана "контр-демонстрация", было бы желание пофлудить).

Еще раз повторяю - "Зри в корень!" (с) К. Прутков.

Если вас спросили - "в чем вы видите перегруженность паттерна?", а вы в ответ начали перечислять функции не имеющие к паттерну никакого отношения, то - какой еще "демонстрации" вам нужно?

З.Ы. "И эти люди учат меня не ковырять в носу!?" (с) народное...
...
Рейтинг: 0 / 0
MVVM и куча вопросов
    #36849833
i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
i
Гость
Твои аппеляции к пионерским примерам из MSDN, где, действительно, не нужны никакие DI - мало интересны и прекрасный пример флуда.
Продемострируй свой Super Layer не на словах, а на деле. Хотя бы на этом тривиальном примере.
...
Рейтинг: 0 / 0
MVVM и куча вопросов
    #36849895
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iТвои аппеляции к пионерским примерам из MSDN, где, действительно, не нужны никакие DI - мало интересны и прекрасный пример флуда.
Продемострируй свой Super Layer не на словах, а на деле. Хотя бы на этом тривиальном примере.
Узнаю нашего теоретика Севу. Что ж ты, сынок, так сливаешь злостно?
...
Рейтинг: 0 / 0
MVVM и куча вопросов
    #36849903
i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
i
Гость
...
Рейтинг: 0 / 0
MVVM и куча вопросов
    #36849949
Вестник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
критика достаточно теоретическая.

по второму пункту: играет роль не объем проекта и число биндингов в нем, а число биндингов в каждом конкретном 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] ведет куда-то, что никак не связано с сабжом
...
Рейтинг: 0 / 0
MVVM и куча вопросов
    #36849967
Вестник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
статься на вики имеет корректную [9] ссылку, которая ведет сюда . из статьи совершенно не ясно, где там дублирование кода и проблемы с сопровождением
...
Рейтинг: 0 / 0
MVVM и куча вопросов
    #36850040
i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
i
Гость
Вестниккритика достаточно теоретическая.

Как только переходишь от журнальных статей к реальному коду, то сразу становится ясно, что сам MVVM ничего особо не дает, помимо биндинга и команд есть масса других вопросов, на которые нет ответа.
...
Рейтинг: 0 / 0
25 сообщений из 62, страница 2 из 3
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / MVVM и куча вопросов
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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