|
Пацанский тру-подход к написанию WPF приложения
|
|||
---|---|---|---|
#18+
Привет, могучий ALL! Много я читал о говноподходах и о том, как НЕ НАДО писать на WPF, но вот что-то нигде не вижу простого и понятного примера, как НАДО писать под WPF. Преклоняюсь перед могучим разумом сообщества и прошу накидать правильных решений для такой простой задачи: Пусть есть таблиЦки на MS SQL Server 2008: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
Накидайте пожалуйста пример с самым правильным подходом WPF, который бы: 1. Загружал данные из T1 и отображал в списке (сортировал, фильтровал) 2. Позволял бы выбирать значение из T2 для проставления в T1.T2_Id 3. Сохранял бы изменения на скул ps: 1. Возможно, ваши варианты сильно отличаются от евангелистского подхода - важно, чтобы решение работало! 2. Я понимаю, что тут не только и не столько WPF. Но хочется получить пример работоспособного совокупного подхода как раз под эту технологию. Заранее благодарю! ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2016, 15:00 |
|
Пацанский тру-подход к написанию WPF приложения
|
|||
---|---|---|---|
#18+
krudensoft, нах WPF! Вам сюда . ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2016, 15:05 |
|
Пацанский тру-подход к написанию WPF приложения
|
|||
---|---|---|---|
#18+
krudensoftПривет, могучий ALL! Много я читал о говноподходах и о том, как НЕ НАДО писать на WPF, но вот что-то нигде не вижу простого и понятного примера, как НАДО писать под WPF. Преклоняюсь перед могучим разумом сообщества и прошу накидать правильных решений для такой простой задачи: Пусть есть таблиЦки на MS SQL Server 2008: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
Накидайте пожалуйста пример с самым правильным подходом WPF, который бы: 1. Загружал данные из T1 и отображал в списке (сортировал, фильтровал) 2. Позволял бы выбирать значение из T2 для проставления в T1.T2_Id 3. Сохранял бы изменения на скул ps: 1. Возможно, ваши варианты сильно отличаются от евангелистского подхода - важно, чтобы решение работало! 2. Я понимаю, что тут не только и не столько WPF. Но хочется получить пример работоспособного совокупного подхода как раз под эту технологию. Заранее благодарю! Еще один синий студень? но вот что-то нигде не вижу Ну, это то лажа конечно. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2016, 15:10 |
|
Пацанский тру-подход к написанию WPF приложения
|
|||
---|---|---|---|
#18+
skyANA, Это js-баян. Быдлоскрипт давно написан на C Да и вообще, гавновариантов в инете - пруд пруди. А хотелось бы увидеть пример правильного, красивого кода. Кода, на который хочется смотреть, замирая от восторга. Ну или хотя бы без отвращения. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2016, 15:16 |
|
Пацанский тру-подход к написанию WPF приложения
|
|||
---|---|---|---|
#18+
Monochromatique, Еще один серый тролль? Я же не просил оценивать текст. Я просил кинуть пример. Не можете\не умеете - проходите мимо. Тема для людей, разбирающихся в этом, а не для троллей - бездельников. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2016, 15:19 |
|
Пацанский тру-подход к написанию WPF приложения
|
|||
---|---|---|---|
#18+
krudensoftMonochromatique, Еще один серый тролль? Я же не просил оценивать текст. Я просил кинуть пример. Не можете\не умеете - проходите мимо. Тема для людей, разбирающихся в этом, а не для троллей - бездельников. А я не текст оцениваю. Я оцениваю тебя. И оценка твоя - наглая лузззота. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2016, 15:30 |
|
Пацанский тру-подход к написанию WPF приложения
|
|||
---|---|---|---|
#18+
krudensoft, а MSDN чем плох? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2016, 15:32 |
|
Пацанский тру-подход к написанию WPF приложения
|
|||
---|---|---|---|
#18+
Пацан к успеху шел. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2016, 15:37 |
|
Пацанский тру-подход к написанию WPF приложения
|
|||
---|---|---|---|
#18+
Monochromatique, Ты. На* пошел из этой темы. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2016, 15:47 |
|
Пацанский тру-подход к написанию WPF приложения
|
|||
---|---|---|---|
#18+
skyANA, Ничем не плох. Дайте ссылку на вышеприведенный пример. Ну или хотя бы на варианты решения. Вариантов то дофига. Нужно подключится к скулу - чем? Юзать ли напрямую ADO.net и DataReader или использовать Entity Framework\NHibernate\linq2sql? Что использовать для хранения данных на клиенте? Какой объект лучше использовать для списков? Какой паттерн MVVM наиболее жизненный? Что использовать для показа списка, возможно, даже есть варианты вообще не списком показывать? Возможно, юзаете сторонние контролы, которые лучше нативных средств WPF? Я же прошу пример из жизни. Какое решение понравилось больше всего именно вам. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2016, 15:57 |
|
Пацанский тру-подход к написанию WPF приложения
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2016, 16:07 |
|
Пацанский тру-подход к написанию WPF приложения
|
|||
---|---|---|---|
#18+
skyANA, Т.е. лучший вариант - это EF + стандартный MVVM шаблон + стандартный грид WPF? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2016, 16:10 |
|
Пацанский тру-подход к написанию WPF приложения
|
|||
---|---|---|---|
#18+
krudensoft, какой вариант лучший - зависит от задачи... у Вас она очень простая, так зачем усложнять решение? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2016, 16:27 |
|
Пацанский тру-подход к написанию WPF приложения
|
|||
---|---|---|---|
#18+
skyANA, Вообще, я пишу в основном под winforms, используя Devexpress. Тут все просто - всё, что нужно для того что я написал Devexpress предоставляет выше крыши. Но периодически поглядываю в сторону WPF )) Ну не нашел я пока для себя варианта работы с WPF, который бы меня устроил бы полностью. Как какой пример ни возьмешь - все как-то недоделано... Возникает закономерный вопрос - почему бы не взять DX и под WPF? Тем более там есть замечательный https://github.com/DevExpress/DevExpress.Mvvm.Free ? Медленный DX на WPF. И какой-то... ненативный, чтоли? А хочется красоты. Есть компоненты SyncFusion конечно. Но это просто GUI. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2016, 16:52 |
|
Пацанский тру-подход к написанию WPF приложения
|
|||
---|---|---|---|
#18+
krudensoft, krudensoftпочему бы не взять DX и под WPF Потому что надо будет всю логику писать совершенно по-другому- переход с winForms на WPF далеко не безболезненный. krudensoftА хочется красоты Помимо красоты WPF содержит в себе еще и много чего отрицательного и недоделанного с точки зрения разработки. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2016, 17:11 |
|
Пацанский тру-подход к написанию WPF приложения
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2016, 18:48 |
|
Пацанский тру-подход к написанию WPF приложения
|
|||
---|---|---|---|
#18+
А то получится как выше: "надо будет всю логику писать совершенно по-другому" :) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2016, 18:49 |
|
Пацанский тру-подход к написанию WPF приложения
|
|||
---|---|---|---|
#18+
skyANA, SQL.ru все такой же как и 10 лет назад... Стабильность! ))) Неужели все считают, что на винформ все так плохо? ))) Но за книгу спасибо. Обязательно прочту и применю на практике. Паттерны проектирования банды я читал, это поновее ))) Однако, вопрос-то не в этом. Вопрос в том, что сейчас юзают реальные люди, которые уже походили по граблям WPFа и готовы дать свой путь. ))) Рассказать свою тру стори. Я уже устал писать велосипеды. Пишешь свой. Потом находишь лучше, но через некоторое время понимаешь его недостатки, правишь, потом снова находишь\пишешь лучше и так далее, до бесконечности... Неужели все тоже продолжают изобретать велосипеды? Паттерн - это всего лишь как бы ТУ(или ГОСТ) для разработчика. Да, здорово, что он есть. Но он не дает конечного решения. Грубо говоря, зная ГОСТы шанс построить кривой дом меньше, но не нулевой. А хочется знаний людей, которые любого корейца заткнут за пояс по поеданию собак. Пример из жизни, отвлеченный от программирования - однажды я столкнулся в квартире с черновым полом, состоявшем из двух слоев досок: первый слой лежал на бетоне на присыпке, а второй.. стоял на первом на... гвоздях! Казалось бы - дичь. Однако, при таком варианте на кривой бетонной подложке итоговый паркет лежал идеально ровно 30 лет, не скрипел, и о соседях люди знали лишь по свету из окон. В таких мелочах и строится хорошее решение, которое в итоге приносит программисту радость ))) Я просто удивлен: неужели нет какого-то одного общепринятого хорошего решения? Неужели для WPF настолько все плохо? Прошло уже много лет с тех пор, как я задавал похожий вопрос. Неужели ничего не изменилось? Возможно, я дал слишком абстрактный пример, без контекста. Но мне хотелось бы понять тенденции, направление, вектор развития. Чтож, попробую сформировать контекст. Дело в том, что я как бы не кодер. Я разработчик в обширном понимании слова. От постановки задачи до проектирования слоя данных\итогового выпуска. И я никогда не понимал разработчиков, которые воспринимают базу данных как простое хранилище ))) Скорее клиентское приложение для меня - это всего лишь некий интернет эксплорер, некий абстрактный клиент, приложение к данным, задача которого - правильно показать данные пользователю. Для меня звучит странно подход codefirst, когда структуру базы фактически разрабатывают на стороне клиента (в 2-звенке, 3-звенке - все равно), думая, что приложение при таком подходе будет одинаково хорошо работать и на оракле и на мсскуле, перекладывая учет тонкостей работы серверов на некую прослойку. Сколько я навидался таких систем - не перечесть ))) Итог всегда один - когда объем данных переваливает за определенню черту приглашается специалист по БД, который потом месяцами разбирает тот ужас, который наконопатили с использованием "стандартных средств разработки" и потом еще долго просыпается с криком по ночам в холодном поту, вспоминая тонны говнокода обращения к данным очередного приложения. Потому что EF генерит SQL-говнокод. Потому что NHibernate генерит SQL-говнокод. Много кто генерит. Даже микрософтоский MS Dynamics генерит SQL-говнокод. И на ровном месте программы начинают тормозить. И что делают разработчики? Правильно - начинают писать костыли. Да вроде бы и фиг с ним. За долгие годы я к этому привык. Но костыли тоже начинают тормозить. Пишутся новые костыли и так до бесконечности. На винформах я наелся этого до отвала. Но есть же WPF! Звезда на небосклоне и счастье во всем мире, по словам саентологов евангелистов MS! Вот я и тыкаюсь везде - покажите мне, как надо правильно писать. Укажите светлый путь, о гуру WPF! Не бойтесь писать свои примеры. Я не Monochromatique, троллить не собираюсь. Мне важно разобраться и для себя определить удобный и правильный с моей точки зрения подход для работы с данными. Потому что программы, базы данных, сервера - это все лажа. Самое важное - это данные и то, насколько удобно с ними работать. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2016, 21:07 |
|
Пацанский тру-подход к написанию WPF приложения
|
|||
---|---|---|---|
#18+
vb_sub, Я это уже прочувствовал. Всегда тяжело переходить на новую технологию. Так было при переходе на дельфи, так было при переходе на VB, так было при переходе на шарп на винформс, так было при переходе на плюсы натив и кьют. В каждом подходе есть свои фишки. Мне бы понять плюсы и фишки впф, чтобы моя работа не вызывала у меня недоумения. Считается, что в каждом подходе есть свои минусы. Но я считаю, что минусы - это всего лишь непонимание технологии и идеологии. Вот я и стараюсь разобраться )) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2016, 21:32 |
|
Пацанский тру-подход к написанию WPF приложения
|
|||
---|---|---|---|
#18+
И таки да, сейчас я студент. Но точно не синий. Я - в ультрафиолете ))) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2016, 21:39 |
|
Пацанский тру-подход к написанию WPF приложения
|
|||
---|---|---|---|
#18+
krudensoftskyANA, SQL.ru все такой же как и 10 лет назад... Стабильность! ))) Неужели все считают, что на винформ все так плохо? )))Не понял вопроса. Это Вы к чему вообще? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2016, 22:52 |
|
Пацанский тру-подход к написанию WPF приложения
|
|||
---|---|---|---|
#18+
skyANA, Извиняюсь, потянуло на философию. Как 10 лет назад не давали на sql.ru ответа на вопрос, так и сейчас. Ничего не поменялось ))) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2016, 23:26 |
|
Пацанский тру-подход к написанию WPF приложения
|
|||
---|---|---|---|
#18+
krudensoft, Ты какой-то экзальтированный нуб. Ты вообще понимаешь, где находится WPF в стеке технологий? Это уровень представления. Причем тут EF, причем тут SQL? У тебя в голове _каша_, да и образность мягко говоря - хромает. Но это если мягко. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2016, 23:38 |
|
Пацанский тру-подход к написанию WPF приложения
|
|||
---|---|---|---|
#18+
krudensoftskyANA, Извиняюсь, потянуло на философию. Как 10 лет назад не давали на sql.ru ответа на вопрос, так и сейчас. Ничего не поменялось ))) Знаете, о том как писать приложения используя те, или иные подходы информации навалом. Но Вам видимо как и 10 лет назад лень самостоятельно приложить усилия, чтобы разобраться. Вам видимо хочется, чтобы первый же ответ по сути содержал в себе и код Вашего приложения, и подробное разъяснение, почему он так написан :) Чтож, Вы не одиноки в этом... ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2016, 00:02 |
|
Пацанский тру-подход к написанию WPF приложения
|
|||
---|---|---|---|
#18+
Monochromatique, А мне надо весь стек, я же с самого начала написал. Куда в этом случае писать? В ORM? Написал в самую верхушку. Ведь использование WPF накладывает требования на все этапы. По крайней мере так декларировал MS - он ведь не разрабатывал WPF как просто "новый Winforms", так? И еще раз - хватит обзываться. Странная склрушная тема - "я сумел выучить один кусочек чего-то, теперь я царь горы, а если кто-то этого не знает - он нуб и му**к". Подумай, что человек, который тебя спрашивает может знать в других кусочках в разы больше. А может и в этом кусочке. Просто ему интересны варианты решения проблемы других людей, он хочет развивать свой кругозор, а не ругаться с троллями. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2016, 00:04 |
|
Пацанский тру-подход к написанию WPF приложения
|
|||
---|---|---|---|
#18+
krudensoftиспользование WPF накладывает требования на все этапы Нет, не накладывает. Откуда вдруг такое мнение? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2016, 00:07 |
|
Пацанский тру-подход к написанию WPF приложения
|
|||
---|---|---|---|
#18+
А MS "декларировал" вот что: Microsoft Application Architecture Guide, 2nd Edition . Почитайте на досуге. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2016, 00:09 |
|
Пацанский тру-подход к написанию WPF приложения
|
|||
---|---|---|---|
#18+
skyANA, Это бы было идеально. ))) К сожалению, такого идеального решения нет нигде, и на винформах тоже. Тот же девекспресс имеет кучу косяков, с которыми приходится мириться и учиться их обходить. Сколько копий пришлось поломать для сохранения группы сущностей одной транзакцией с разбором их на скуле процедурой внутри транзакции.... Но меня удивляет, что нет ответа по WPF. Предлагаю провести эксперимент: я задам этот же самый вопрос и в разделе Winforms. Вот интересно, и там все свои "ноухау" прячут под юбкой или все же не постесняются? ))) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2016, 00:12 |
|
Пацанский тру-подход к написанию WPF приложения
|
|||
---|---|---|---|
#18+
krudensoft, для меня идеальное решение - это когда большая часть кода не зависит от того, что выбрано в качестве морды приложения. Понимаете, о чём я? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2016, 01:07 |
|
Пацанский тру-подход к написанию WPF приложения
|
|||
---|---|---|---|
#18+
krudensoftskyANA, Извиняюсь, потянуло на философию. Как 10 лет назад не давали на sql.ru ответа на вопрос, так и сейчас. Ничего не поменялось ))) просто не все вопросы достойны ответа, вот и всё. мне лично некогда делать пример и выкладывать его в данный момент, конец года, время 3.45 я еще на работе. Всё на что хватает вреени это забежать на sql.ru читануть пару тем из любимых разделов и усё. Вы хотите, чтоб вам всё принесли на блюдичке, люди будут давать советы и ответы, когда на ответ у них будет уходить не больше 5-10 минут времени. Если ответ займёт 30 мин - 1 час ни кто не будет напрягаться. Я вот лично, сколько видел WPF приложений в своей жизни, столько и подходов видел. Где то более кононично, где то менее кононично шаблону MVVM. Хорошее знание и понимание WPF, это не знание шаблона MVVM. Чтоб хорошо понимтаь WPF, нужно просто начать читать его исходники, там всё написано, что и как работет и как нужно им пользоваться :) а шаблон можно вообще не применять, при этом сделать приложение красивое и удобное. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2016, 01:49 |
|
Пацанский тру-подход к написанию WPF приложения
|
|||
---|---|---|---|
#18+
Roman Mejtesлюди будут давать советы и ответы, когда на ответ у них будет уходить не больше 5-10 минут времени. Если ответ займёт 30 мин - 1 час ни кто не будет напрягаться. Проблема в том, что каноничный труъ-пример может и в 5 часов времени не уместиться. Потому что тут будет трехзвенка, ORM, WCF, репозитории, DI, и проч., и это всё вместе взятое очень объемно и долго. А на 5-10 минут - это будет впф-хелловорлд, не говорящий вообще ни о чем. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2016, 06:31 |
|
Пацанский тру-подход к написанию WPF приложения
|
|||
---|---|---|---|
#18+
skyANA, Вы про инверсию зависимостей? Здорово конечно, но по факту обычно так не получается. Взять хотя бы Winforms и WPF Да, DTO объекты и слой доступа к данным могут быть и там и там одинаковы. Но дальше пойдет разносол. WF - это все-таки MVC, MVP. А WPF - MVVM и на уровне вьюх и команд все уже будет по разному. Опять же разная идеология биндингов. Можно кончено притянуть за уши MVVM и на винформах, но это будет именно "притянуть за уши". ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2016, 08:21 |
|
Пацанский тру-подход к написанию WPF приложения
|
|||
---|---|---|---|
#18+
skyANAА MS "декларировал" вот что: Microsoft Application Architecture Guide, 2nd Edition . Почитайте на досуге. Спасибо за ссылку, лучше наверное вот такую: Книжка на русском и английском: https://blogs.technet.microsoft.com/isv_team/2010/09/16/microsoft-patterns-practices/ Книжка на русском: http://download.microsoft.com/documents/rus/msdn/ры_приложений_полная_книга.pdf ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2016, 08:26 |
|
Пацанский тру-подход к написанию WPF приложения
|
|||
---|---|---|---|
#18+
Сон Веры Павловны, Может быть есть ссылка на готовый пример, который вы считаете хорошим примером? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2016, 08:28 |
|
Пацанский тру-подход к написанию WPF приложения
|
|||
---|---|---|---|
#18+
Сон Веры Павловны, Ну, всему свое. Если это база с 1-5 пользователями макс (например, торговая точка), то там нет смысла делать трехзвенку. Там достаточно скульного сервака и клиента. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2016, 08:32 |
|
Пацанский тру-подход к написанию WPF приложения
|
|||
---|---|---|---|
#18+
krudensoftskyANA, Вы про инверсию зависимостей?Нет. krudensoftЗдорово конечно, но по факту обычно так не получается. Взять хотя бы Winforms и WPF Да, DTO объекты и слой доступа к данным могут быть и там и там одинаковы. Но дальше пойдет разносол. WF - это все-таки MVC, MVP. А WPF - MVVM и на уровне вьюх и команд все уже будет по разному. Опять же разная идеология биндингов. Можно кончено притянуть за уши MVVM и на винформах, но это будет именно "притянуть за уши".Чего конкретно-то не получается? Где у Вас слой доменной модели потерялся? В представлении? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2016, 12:52 |
|
Пацанский тру-подход к написанию WPF приложения
|
|||
---|---|---|---|
#18+
krudensoftskyANAА MS "декларировал" вот что: Microsoft Application Architecture Guide, 2nd Edition . Почитайте на досуге. Спасибо за ссылку, лучше наверное вот такую: Книжка на русском и английском: https://blogs.technet.microsoft.com/isv_team/2010/09/16/microsoft-patterns-practices/ Книжка на русском: http://download.microsoft.com/documents/rus/msdn/ры_приложений_полная_книга.pdf Да не важно, главное чтобы Вы прочитали и поняли. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2016, 12:53 |
|
Пацанский тру-подход к написанию WPF приложения
|
|||
---|---|---|---|
#18+
krudensoftСон Веры Павловны, Ну, всему свое. Если это база с 1-5 пользователями макс (например, торговая точка), то там нет смысла делать трехзвенку. Там достаточно скульного сервака и клиента. А нужна-ли этим 1-5 пользователям вообще база? :) А если и нужна, то прочтения MSDN-а для реализации хватит. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2016, 12:56 |
|
Пацанский тру-подход к написанию WPF приложения
|
|||
---|---|---|---|
#18+
krudensoftВ каждом подходе есть свои фишки. Мне бы понять плюсы и фишки впф, чтобы моя работа не вызывала у меня недоумения. Вам это по работе надо, или чисто для собственного любопытства? Если второе, то, наверное, не стоит - WPF скоро "всё", а если у вас и с формами всё хорошо идёт, то чего дёргаться? WPF надо было в 2008-2012 годах начинать изучать, а сейчас уже как бы забывать пора. Только MVVM и некоторые подходы от него взять. Щас всё на джаваскриптах и HTML5 делается. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.12.2016, 18:34 |
|
Пацанский тру-подход к написанию WPF приложения
|
|||
---|---|---|---|
#18+
krudensoftВедь использование WPF накладывает требования на все этапы. По крайней мере так декларировал MS - он ведь не разрабатывал WPF как просто "новый Winforms", так? На WPF можно писать практически полностью так же, как и на винформс. WPF накладывает требования только на клиентскую часть - на UI. С ним можно работать как с винформс (например, писать код в обработчиках событий), а можно как предлагается в паттерне MVVM. Можно вообще своё накрутить, если опыта и знаний хватает. Вообще, непонятно ваше непонимание. Если у вас большой опыт разработки и при этом хотя бы немного большие приложения разрабатывали, то вы должны иметь понятия о так называемых слоях. Прочитав об MVVM, вы бы быстро поняли, где тут какой слой, и что работа с БД в MVVM-WPF не входит. В MVVM часть, которая относится в WPF неподсредственно - это представление (View) и модель представления (View Model) - то, что раньше, в винформс, было принято писать в коде обработчиков событий в простых винформс приложениях. В сложных приложениях разработчики раньше делали свои реализации подобий моделей представлений, по сути, писали свой мини фреймворк. Просто в WPF Майкрософт предложил некий обобщённый подход для части UI. При этом для всех остальных частей приложения МС обобщённого подхода пока не предложил (не будем принимать в расчёт всякие Prism), поэтому вы должны сами придумать, как организовать работу с БД и прочее - WPF-MVVM про это ничего не говорят. Т. е. как раньше работали с формами, так и сейчас работайте - ведь вы же и раньше должны были реализовать слой работы с БД, слой сервисов, слой серверной логики и прочее, что вам было необходимо. Ещё раз - WPF-MVVM имеет отношение только к UI и всё, что в статьях написано про БД и прочее - лишь в качестве примера (как правило, упрощённого), который нужен, только чтобы приложение вообще запустилось и показало какие-то данные. Если же вы не знали и раньше, как создавать сложные системы со множеством слоёв, то проблема не в WPF, а в том, что вы вообще имеет мало опыта создания таких систем и не понимаете, где место WPF в них. Тут надо, как вам и посоветовали, побольше букварей почитать про проектирование приложений и сложных систем вообще. Создаётся ощущение, что вы работали с какими-то конструкторами, типа дельфовых компонентов или вообще Light Switch, где выбрал БД, выбрал шаблон, выбрал оформление покрасивше и оно само вам на грид всё положило и CRUD с фильтрами прикрутило. И, похоже, вы такой конструктор и для WPF ищете. Я лично такого конструктора для WPF не знаю, но тот же Light Switch, если ещё живой, стал специализироваться на генерации UI в виде HTML, а не XAML-представлений. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.12.2016, 18:51 |
|
Пацанский тру-подход к написанию WPF приложения
|
|||
---|---|---|---|
#18+
Roman MejteskrudensoftskyANA, Извиняюсь, потянуло на философию. Как 10 лет назад не давали на sql.ru ответа на вопрос, так и сейчас. Ничего не поменялось ))) просто не все вопросы достойны ответа, вот и всё. мне лично некогда делать пример и выкладывать его в данный момент, конец года, время 3.45 я еще на работе. Всё на что хватает вреени это забежать на sql.ru читануть пару тем из любимых разделов и усё. Вы хотите, чтоб вам всё принесли на блюдичке, люди будут давать советы и ответы, когда на ответ у них будет уходить не больше 5-10 минут времени. Если ответ займёт 30 мин - 1 час ни кто не будет напрягаться. Я вот лично, сколько видел WPF приложений в своей жизни, столько и подходов видел. Где то более кононично, где то менее кононично шаблону MVVM. Хорошее знание и понимание WPF, это не знание шаблона MVVM. Чтоб хорошо понимтаь WPF, нужно просто начать читать его исходники, там всё написано, что и как работет и как нужно им пользоваться :) а шаблон можно вообще не применять, при этом сделать приложение красивое и удобное. Согласен. ТСу надо поискать чего-то вроде "WPF CRUD MVVM example". Лично я сходу нашёл кучу простых примеров, типа такого (что там внутри - не смотрел, но думаю, что ТСу хватит на первое время). Естественно, вопрос сохранения сложных групп переплетённых сущностей, типа корня оггрегации (до сих пор не вдупляю до конца, что же это такое - видел как минимум два отличающихся мнения, и оба не помню), вам никто на блюде не даст, да ещё для вашего конкретного решения. Вы уж как-нибудь сами. Другое дело, что применение WPF тут практически ничего не меняет - как раньше с этими сущностями работали, так и сейчас работайте. Единственное, что работать надо с моделью (Model, в терминах MVVM), а не пытаться сохранить в БД View Model или что-то подобное. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.12.2016, 18:58 |
|
Пацанский тру-подход к написанию WPF приложения
|
|||
---|---|---|---|
#18+
Сон Веры Павловнытрехзвенка, ORM, WCF, репозитории, DI, и проч. h ttps://www.youtube.com/watch?v=ZKKukSxG4Hc&feature=youtu.be&t=7m3sДавайте восклицать, друг другом восхищаться, Высокопарных слов не надо опасаться, Гармония харизм, величие амбиций, Фрустральный атеизм, приоритет позиций, Монументальный вздор, скептичность ортодокса, Скептический апломб, гуманность парадокса. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.12.2016, 19:10 |
|
Пацанский тру-подход к написанию WPF приложения
|
|||
---|---|---|---|
#18+
krudensoftskyANA, Вы про инверсию зависимостей? Здорово конечно, но по факту обычно так не получается. Взять хотя бы Winforms и WPF Да, DTO объекты и слой доступа к данным могут быть и там и там одинаковы. Но дальше пойдет разносол. WF - это все-таки MVC, MVP. А WPF - MVVM и на уровне вьюх и команд все уже будет по разному. Опять же разная идеология биндингов. Можно кончено притянуть за уши MVVM и на винформах, но это будет именно "притянуть за уши". ТС, оказывется, всё понимает, но делает вид, что затупил в мелочах. Граждане, у кого тролль отвязался? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.12.2016, 19:15 |
|
Пацанский тру-подход к написанию WPF приложения
|
|||
---|---|---|---|
#18+
>krudensoft, 27 дек 16, 15:00 [20053043] > ... самым правильным подходом WPF ... Самых чаще всего не бывает, - задачи разные. Опишу свой подход. 1. Каждая таблица базы данных имеет суррогатный ключ 2. Клиентское приложение работает с информацией базы данных через хранимые процедуры. 3. Взаимодействие клиента с приложением осуществляется посредством User Control (собственный вариант "а-ля" модальной формы) в главном окне. 4. User Control обычно состоит из 2-х гридов: - грида иконок стандартных операций (новый, клон, удалить, редактировать, сохранить, выбор, выход) и их реализации - грида TableControl со страницами выборки и формирования запроса - запрос обычно не четкий (like или диапазон) и поэтому ограниченная выборка показывается в DataGride. - обычно двойной щелчок на в столбце с информацией из справочника вызывает User Control справочника 5. Информация базы данных в клиентском приложении хранится в List<> или ObservableCollection<>. С уважением, Владимир ... |
|||
:
Нравится:
Не нравится:
|
|||
02.01.2017, 01:42 |
|
Пацанский тру-подход к написанию WPF приложения
|
|||
---|---|---|---|
#18+
ARKssГраждане, у кого тролль отвязался? хи-хи, тут целая стая))) с ними нужно разговаривать, ну и крепкий дрын в руке держать))) ВМоисеевОпишу свой подход. ... С уважением, Владимир 1-4 - один из множества вариантов 5 - а как иначе? ... С уважением, ... ... |
|||
:
Нравится:
Не нравится:
|
|||
03.01.2017, 04:20 |
|
|
start [/forum/topic.php?all=1&fid=21&tid=1440578]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
136ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
71ms |
get tp. blocked users: |
1ms |
others: | 251ms |
total: | 503ms |
0 / 0 |