|
Получения данных из DataGrid WPF MVVM
|
|||
---|---|---|---|
#18+
Алексей КМСУпропущено... Таки я не понял, о каком дублировании идет речь.Например, у меня есть класс модели, сгенерированный по WSDL. Какие есть варианты реализации IDataErrorInfo: 1. Partial-класс 2. Дублирование свойств Model во ViewModel. 3. Инкапсуляция Model во ViewModel. Нуегонах... Лучше уж Binding + ValidationRule во View. Элементарно, Ватсон. Третий пункт наше всё, почему бы и нет? Класс модели, сгенерированный по WSDL, это тупая DTO. Накойхер (с) мне DTO прибивать к вью? Я, как разумный человек (а не опасная обезьянка), сделаю свою вью модель и вкорячу отдельным свойством эту DTO. Задача решена. Онли честная IDataErrorInfo валидация и баста. Никаких говновалидацией во вью! Это исключено. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2013, 13:00 |
|
Получения данных из DataGrid WPF MVVM
|
|||
---|---|---|---|
#18+
Алексей КМСУЖалко, что нативно не поддерживается DataAnnotations как в MVC, но думаю это дело времени. Педалей хватает. Так не хочется педалей, хочется доброго натива. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2013, 13:02 |
|
Получения данных из DataGrid WPF MVVM
|
|||
---|---|---|---|
#18+
МСУЖалко, что нативно не поддерживается DataAnnotations как в MVC, но думаю это дело времени.А вот интеграция VAB с твоим любимым IDataErrorInfo. :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2013, 13:03 |
|
Получения данных из DataGrid WPF MVVM
|
|||
---|---|---|---|
#18+
МСУАлексей Кпропущено... Например, у меня есть класс модели, сгенерированный по WSDL. Какие есть варианты реализации IDataErrorInfo: 1. Partial-класс 2. Дублирование свойств Model во ViewModel. 3. Инкапсуляция Model во ViewModel. Нуегонах... Лучше уж Binding + ValidationRule во View. Элементарно, Ватсон. Третий пункт наше всё, почему бы и нет?Я пробовал - не понравилось. Дополнительные слои вьюмоделей вокруг модели сильно путают при написании прикладного кода. Лучше уж 1 или 2. МСУКласс модели, сгенерированный по WSDL, это тупая DTO. Накойхер (с) мне DTO прибивать к вью?Я и не прибиваю. Более того, DTO ничего не знает про валидацию, поскольку она во View. Тут единственный недостаток - несколько View редактирования для одной модели. Но у меня такие случаи до настоящего времени отсутствуют и не планируются. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2013, 13:08 |
|
Получения данных из DataGrid WPF MVVM
|
|||
---|---|---|---|
#18+
МСУТак не хочется педалей, хочется доброго натива.Мне тоже много чего хочется, но я же терплю! ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2013, 13:12 |
|
Получения данных из DataGrid WPF MVVM
|
|||
---|---|---|---|
#18+
Алексей КА вот интеграция VAB с твоим любимым IDataErrorInfo. :-) IDataErrorInfo - это фундаментальный стандарт для .NET, с ним работает всё, что движется :) Более того, этот стандарт является самым максимально избыточным по функционалу, так как с помощью него можно описать валидацию любой сложности. System.ComponentModel.DataAnnotations тоже как бы вполне себе стандарт, но почему-то его не заложили в пласт WPF. Но это не критично. Хотя атрибутивная валидация короче и приятней на вкус. Алексей КЯ пробовал - не понравилось. Дополнительные слои вьюмоделей вокруг модели сильно путают при написании прикладного кода. Лучше уж 1 или 2. Какие дополнительные слои вьюмоделей? ) Для каждого представления должна быть только одна вьюмодель. А мешать в один котел DTO, валидацию во вью, вью модель в виде DTO - это очень и очень не здорово. Есть вью, значит должна быть под него вью модель. Это закон. Никаких экономий и прочих гадостей. Вот поэтому тебе mvvm и не понравился, т.к. на чистом DTO далеко не уедешь - я тебя раскусил То есть ты отказываешься от таких вкусностей из-за тупой экономии на вью моделях? Алексей КМСУКласс модели, сгенерированный по WSDL, это тупая DTO. Накойхер (с) мне DTO прибивать к вью?Я и не прибиваю. Более того, DTO ничего не знает про валидацию, поскольку она во View. Тут единственный недостаток - несколько View редактирования для одной модели. Но у меня такие случаи до настоящего времени отсутствуют и не планируются. Валидация во вью - это прошлый век и утопия. Немасштабируемо и негибко. Валидация - это часть логики. Нечего ей делать во вью. В случае же валидации в IDataErrorInfo у нас все карты в руках, тут тебе работает и наследование, и переносимость, и универсальность, и стандартность для всего .NET. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2013, 13:40 |
|
Получения данных из DataGrid WPF MVVM
|
|||
---|---|---|---|
#18+
МСУВалидация во вью - это прошлый век и утопия. Немасштабируемо и негибко. Даже новомодный MVC отказался от такой практики, которая была еще со времен монструозного неповоротливого WebForms. Описал логику с помощью IDataErrorInfo или DataAnnotations - получи автоматом бесплатную валидацию на клиенте. Так и в WPF - описал логику в IDataErrorInfo, получи нахаляву валидацию в XAML представлении. Красота. А писать валидацию в XAML - это возврат к эпохе динозавров аля валидаторы уровня представления ASP.NET WebForms ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2013, 13:45 |
|
Получения данных из DataGrid WPF MVVM
|
|||
---|---|---|---|
#18+
МСУТо есть ты отказываешься от таких вкусностей из-за тупой экономии на вью моделях? Там экономия не тупая, а вполне реальная. МСУВалидация во вью - это прошлый век и утопия. Немасштабируемо ..."Контрреволюция" (ц) ? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2013, 13:48 |
|
Получения данных из DataGrid WPF MVVM
|
|||
---|---|---|---|
#18+
МСУЕсть вью, значит должна быть под него вью модель. Это закон.Я достаточно хапнул в своё время из-за этого "закона". :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2013, 13:54 |
|
Получения данных из DataGrid WPF MVVM
|
|||
---|---|---|---|
#18+
Алексей КТам экономия не тупая, а вполне реальная. Какая такая реальная? :) Ты не согласен с постулатом, что у вью должна быть своя вью модель? Алексей К"Контрреволюция" (ц) ? :) Алексей КЯ достаточно хапнул в своё время из-за этого "закона". :-) Батенька, весь MVC крутится на этом законе и ничего, все довольны :) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2013, 13:56 |
|
Получения данных из DataGrid WPF MVVM
|
|||
---|---|---|---|
#18+
Алексей К, вот честная валидация во вью модели с помощью нативщины IDataErrorInfo, чем она тебе плоха? :) ... Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99.
... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2013, 13:59 |
|
Получения данных из DataGrid WPF MVVM
|
|||
---|---|---|---|
#18+
МСУАлексей КТам экономия не тупая, а вполне реальная. Какая такая реальная? :) Ты не согласен с постулатом, что у вью должна быть своя вью модель?Ты не согласен с вредом от маленькой ответственности класса? Ничего, что я вопросом на вопрос? :-) МСУАлексей КЯ достаточно хапнул в своё время из-за этого "закона". :-) Батенька, весь MVC крутится на этом законе и ничего, все довольны :)В веб этого архитектура требует. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2013, 14:38 |
|
Получения данных из DataGrid WPF MVVM
|
|||
---|---|---|---|
#18+
МСУАлексей К, вот честная валидация во вью модели с помощью нативщины IDataErrorInfo, чем она тебе плоха? :) ... Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99.
... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2013, 14:40 |
|
Получения данных из DataGrid WPF MVVM
|
|||
---|---|---|---|
#18+
Алексей КТы не согласен с вредом от маленькой ответственности класса? Ничего, что я вопросом на вопрос? :-) Вред от модели представления? Батенька, гоню тебя ссаной метлой обратно в винформз - и выходя захлопни дверь! Алексей КМСУБатенька, весь MVC крутится на этом законе и ничего, все довольны :)В веб этого архитектура требует. С какого такого перепуга? Модель WebForms именно не требует, так как представление (aspx, ascx) жестко вяжется к кодбехайнду. И сделать нормальную слабосвязную реализацию довольно таки проблематично. Вообщем, полная аналогия затхлой винформзе. И тут приходят перцы из MS и говорят - испробуйте MVC печеньки, UI полностью отвязано от кодбехайнда, как в лучших домах Парижа и всё такое. Ну пипл поклевал, пощурился, напряг булки - да и давай с радости в вебформзятников какашками кидаться. Ну не счастье ли? Алексей КНе. Проще валидаторов на биндинги навешать. Оно и декларативно и независимо и тд и тп. То, что оно декларативно - это хорошо, но оно отдельно от модели представления, вот это основная жопа. Грубо говоря, дизайнеру должно быть фиолетово на твою логику с какими-то ошметками валидационных рулов. Ну это к слову, конечно, тут оно без фанатизма должно быть. Вью должно быть тупое, только маппинг на свойства и команды. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2013, 15:13 |
|
Получения данных из DataGrid WPF MVVM
|
|||
---|---|---|---|
#18+
МСУАлексей КТы не согласен с вредом от маленькой ответственности класса? Ничего, что я вопросом на вопрос? :-) Вред от модели представления?Это одно из возможных решений, не более того. Не надо молиться на него. Фанатизм это плохо. Если его применить не по месту - будет вред. МСУБатенька, гоню тебя ссаной метлой обратно в винформз - и выходя захлопни дверь! Я уйду... Останешься один на один со своими вьюмоделями... МСУАлексей Кпропущено... В веб этого архитектура требует. С какого такого перепуга? Модель WebForms именно не требует, так как представление (aspx, ascx) жестко вяжется к кодбехайнду. И сделать нормальную слабосвязную реализацию довольно таки проблематично. Вообщем, полная аналогия затхлой винформзе. И тут приходят перцы из MS и говорят - испробуйте MVC печеньки, UI полностью отвязано от кодбехайнда, как в лучших домах Парижа и всё такое. Ну пипл поклевал, пощурился, напряг булки - да и давай с радости в вебформзятников какашками кидаться. Ну не счастье ли? Про вебформз пока ничего не знаю и знать не хочу. :-) МСУАлексей КНе. Проще валидаторов на биндинги навешать. Оно и декларативно и независимо и тд и тп. То, что оно декларативно - это хорошо, но оно отдельно от модели представления, вот это основная жопа. Грубо говоря, дизайнеру должно быть фиолетово на твою логику с какими-то ошметками валидационных рулов. Ну это к слову, конечно, тут оно без фанатизма должно быть. Вью должно быть тупое, только маппинг на свойства и команды.У меня нет задачи отделить дизайнера от программиста. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2013, 15:56 |
|
Получения данных из DataGrid WPF MVVM
|
|||
---|---|---|---|
#18+
Алексей КЭто одно из возможных решений, не более того. Не надо молиться на него. Фанатизм это плохо. Если его применить не по месту - будет вред. Ну дельфи - это тоже один из способов решения задачи. Но у тебя от него мурашки по коже 15110408 , значит. Почему тогда мои мурашки по поводу валидации во вью не имеют место быть? Двойные стандарты? Алексей КЯ уйду... Останешься один на один со своими вьюмоделями... Не поверю, что вернешься опять в этот ад :) Алексей КПро вебформз пока ничего не знаю и знать не хочу. :-) Ок. Это я к слову о вебе. Веб многолик и чудесен :) Алексей КУ меня нет задачи отделить дизайнера от программиста. И тем не менее валидировать во вью - садомазахизм , IDataErrorInfo наше всё ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2013, 16:08 |
|
Получения данных из DataGrid WPF MVVM
|
|||
---|---|---|---|
#18+
МСУ, а я валидирую в модели, т.к. она у меня используется в разных отображениях. и ничего. вьюмодел не последнее место для этого. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2013, 16:19 |
|
Получения данных из DataGrid WPF MVVM
|
|||
---|---|---|---|
#18+
МСУАлексей КЭто одно из возможных решений, не более того. Не надо молиться на него. Фанатизм это плохо. Если его применить не по месту - будет вред. Ну дельфи - это тоже один из способов решения задачи. Но у тебя от него мурашки по коже 15110408 , значит. Почему тогда мои мурашки по поводу валидации во вью не имеют место быть? Двойные стандарты? Слишком радикально. :-) МСУАлексей КЯ уйду... Останешься один на один со своими вьюмоделями... Не поверю, что вернешься опять в этот ад :)Я же не сказал куда я пойду. :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2013, 16:25 |
|
Получения данных из DataGrid WPF MVVM
|
|||
---|---|---|---|
#18+
ProgaМСУ, а я валидирую в модели, т.к. она у меня используется в разных отображениях. и ничего. вьюмодел не последнее место для этого. Proga, я не запрещаю этого делать, можно и так. То, что у тебя вью используется в разных местах никак не влияет на факт обязательности рулов. С таким же успехом можно использовать и IDataErrorInfo. Появился с 3.5 фрейморка, универсален и является более общим. Более того, с версии FW 4.5 стал доступен INotifyDataErrorInfo. Лучше бы DataAnnotations вкорячили. Вот старая статейка: Data Validation in 3.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2013, 16:30 |
|
Получения данных из DataGrid WPF MVVM
|
|||
---|---|---|---|
#18+
Алексей КСлишком радикально. :-) Зато справедливо :) Алексей КЯ же не сказал куда я пойду. :-) P.S. Вообщем, IDataErrorInfo и баста, верь мне. Договорились? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2013, 16:31 |
|
Получения данных из DataGrid WPF MVVM
|
|||
---|---|---|---|
#18+
МСУДоговорились? :)Уболтал. :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2013, 16:39 |
|
Получения данных из DataGrid WPF MVVM
|
|||
---|---|---|---|
#18+
МСУМСУВалидация во вью - это прошлый век и утопия. Немасштабируемо и негибко. Даже новомодный MVC отказался от такой практики, которая была еще со времен монструозного неповоротливого WebForms. Описал логику с помощью IDataErrorInfo или DataAnnotations - получи автоматом бесплатную валидацию на клиенте. Так и в WPF - описал логику в IDataErrorInfo, получи нахаляву валидацию в XAML представлении. Красота. А писать валидацию в XAML - это возврат к эпохе динозавров аля валидаторы уровня представления ASP.NET WebForms ну не совсем нахаляву шаблон "крсного кирпича" добавить надо. Но это тоже плюс - тут кто во что горазд.А вот ValidationRule мне не нравится - никакого фидбека во VM, что имхо очень странно. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2013, 17:55 |
|
Получения данных из DataGrid WPF MVVM
|
|||
---|---|---|---|
#18+
Алексей КУболтал. :-) Неожиданно netivanну не совсем нахаляву шаблон "крсного кирпича" добавить надо. Зачем? Оно уже есть дефолтно, причем в MVC тоже (unobtrusive validation). Всё это добро отлично дружит с IDataErrorInfo. Да, мне кирпич не понравился, поэтому сделал отдельный стиль со звёздочкой справа поля. netivanА вот ValidationRule мне не нравится - никакого фидбека во VM, что имхо очень странно. +1, допотопный пушной зверёк, пришедший в WPF из далёкого 3 фреймворка... ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2013, 18:03 |
|
Получения данных из DataGrid WPF MVVM
|
|||
---|---|---|---|
#18+
авторЗачем? Оно уже есть дефолтно, причем в MVC тоже (unobtrusive validation). Всё это добро отлично дружит с IDataErrorInfo. Да, мне кирпич не понравился, поэтому сделал отдельный стиль со звёздочкой справа поля. и в самом деле) всегда просто другой юзал. Но тем самым еще + к IdataError ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2013, 18:21 |
|
Получения данных из DataGrid WPF MVVM
|
|||
---|---|---|---|
#18+
МСУSeVaА нечего там комментировать. В прошлый раз смотрел бегло(очень опасно глубоко нырять, можно не отмыться потом), эта лошара даже единственную статью не осилила, сделала совершенно в тупую и даже не удосужилась реализовать полностью весь функционал. CanExecute всегда true. Пионерская поделка без всякого смысла. А нечем тебе комментировать ибо вместо башки у тебя помойное ведро. Это идеологический концепт и мне на данный момент не нужен CanExecute. Ты со своими обработчиками скоро слюной изойдешь, бездарность. SeVaМуслима, большой мальчик, а до сих пор не знаешь, что сборка мусора совершенно не означает полную очистку. Где и кем ты работаешь? Присаживайся, двойка. Весь .NET так работает, в том числе WinForms. http://msdn.microsoft.com/ru-ru/library/system.gc.collect(v=vs.110).aspx GC.Collect принудительно запускает немедленную сборку мусора для всех поколений. Ляпнул очередную глупость, впрочем как всегда. Если осталась хоть капля головного вещества, запусти тот же пример генерации объектов на WinForms и прибей форму. Память честно вернется на исходную позицию. Monochromatiqueo_O Так ты чморил SL ничего о нем не зная?? o_O Так SL у нас уже стал XAML'ом? 1. Муслима, называй вещи своими именами - лисапед, который тянет только на концепт лабораторной работы. Можешь представить, во что превратятся твои изобретения, если будет несколько сотен классов и форм. Вместо нормального IoC и сервиса навигации, которые присутствуют в нормальных фреймворках, и которые ты не осилил, две помойные ямы. 2. Сборка мусора тема для тебя неподъемная и я даже не буду ее затрагивать. А winforms упомяну, тк ты здесь не раз пачкал другим мозги и на голубом глазу заявлял, что в нем на автомате делается отписка от событий. Это очередная твоя тупость, ничего подобного нет. Попробуй в статическом классе подписаться на событие и ты намертво прибьешь форму гвоздями. Все дело в том, что ты привык говнокодить с обработчиками в самой форме, посему все удалялось. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2013, 18:52 |
|
|
start [/forum/topic.php?fid=21&msg=38470305&tid=1441238]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
53ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
others: | 301ms |
total: | 446ms |
0 / 0 |